急切地初始化子集hibernate

时间:2013-11-21 10:27:51

标签: hibernate jpa jpql

我的课程AB的集合:List<B> bList。此外,B类包含CList<C> cList

的集合

问题:如何在初始化所有集合的情况下获取对象?

这个NamedQuery工作不正确(它返回了许多重复的B):

SELECT a FROM A a 
LEFT JOIN FETCH a.bList bList 
LEFT JOIN FETCH bList.cList 
WHERE a.id = (:id)

1 个答案:

答案 0 :(得分:-1)

使用 SELECT DISTINCT a 代替选择。它将删除结果中的所有重复条目。您的查询将是:

SELECT DISTINCT a FROM A a 
LEFT JOIN FETCH a.bList bList 
LEFT JOIN FETCH bList.cList 
WHERE a.id = (:id)