1. 程式人生 > >Hibernate HQL 左連線 查詢 兩張表

Hibernate HQL 左連線 查詢 兩張表

由於專案需要,現在需要進行兩張表連線查詢,但前期hql已經寫好,現在只是想在原有的基礎之上再加上一個表的連線查詢,本來如果用本地sql的方式很容易實現,但是原來已經用hql來寫,並且程式本身在取得查詢結果後如果查詢出來是物件,對後面的操作很方便,故要在原有hql基礎之後新增外連線,如下:

if("0".equals(orgId)){ //頂級機構查詢所有下級
hqlStrBuffer.append("select u from User u,Organization o where u.organization.orgId = o.orgId");
}

注意:

1、傳統的方式是寫成 from  User ......這種形式,但此處要連線表,後面再加一張表,故寫成:

    from  User u ,Organization o  後面再加上兩個表的連線條件

2、通過兩個表查詢,但是隻是想要其中的一個物件,寫法:

    select u from User u ……

至此,實現hql連線表查詢