2016-02-12 26 views
0

我有一個通過一對多關係與另一個關聯的實體。在不初始化集合的情況下急切地獲取關聯的集合大小

當我加載的實體,我只想加載相關聯的集合的大小(多少個實體是這個關聯)&我想用EAGER的方式做到這一點,這是在基地實體被提取(在單個查詢中)。

Hibernate count collection size without initializing顯示瞭如何以懶惰的方式做到這一點。我想以急切的方式做到這一點,因爲我有一些基於此的UI功能,不想多次查詢。

可以使用公式,但他們不是HQL的支持。任何其他方式在休眠?

回答

0

您可以使用HQL查詢此目的:

select e, (select count(c) from Entity e1 join e1.collection c where e1.id = :id) 
from Entity e 
where e.id = :id 
+0

我想把這些數據放到實體類中,並在它被加載時自動獲取它,所以這個邏輯保持在一個地方。我如何做到這一點? – nikel