我試圖執行一個HQL
查詢,它將來自兩個對象的數據組合起來:Person
和PersonRoleAssociation
。HQL多表選擇 - 外部加入?
我正在運行Hibernate
4.3.10和Grails
3.0.10。
我當前的查詢看起來是這樣的:
SELECT person
FROM Person person,
PersonRoleAssociation personRoleAssoc
WHERE personRoleAssoc.person = person
從我的理解,這是相當於一個標準SQL
內左加入。這適用於大多數情況,但我也需要查詢缺少PersonRoleAssociation
的所有Persons
,並且因爲上述查詢是左連接,所以我遇到了問題。
在標準SQL
我只是使用左外連接,但我找不到任何等效HQL
。
如何在不改變我的對象結構的情況下執行HQL
中外連接的等效操作?
您是否將PersonRoleAssociation映射爲Person實體中的OneToMany關係? –
@MaciejKowalski不,我聽說在Grails中有OneToMany關係可能會很慢,所以我試圖避免它。 –