我的课程A
有B
的集合:List<B> bList
。此外,B
类包含C
:List<C> cList
问题:如何在初始化所有集合的情况下获取对象?
这个NamedQuery
工作不正确(它返回了许多重复的B):
SELECT a FROM A a
LEFT JOIN FETCH a.bList bList
LEFT JOIN FETCH bList.cList
WHERE a.id = (:id)
答案 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)