如果您拥有实体列表,您将如何加载特定实体的所有关系,例如:
List<Question> questions = query.getResultList();
查询的位置为:SELECT q FROM Question q;
我知道你可以使用Hibernate.initialize()
,但这是否意味着我需要遍历repostiory层中的列表?或者有更好的解决方案吗?
答案 0 :(得分:4)
您可以使用10.2.3.5.3. JPQL Fetch Joins。
FETCH JOIN启用了关联的提取,作为执行查询的副作用。 FETCH JOIN是在实体及其相关实体上指定的。
借鉴上述链接的一个例子:
SELECT mag FROM Magazine mag LEFT JOIN FETCH mag.articles WHERE mag.id = 1
我认为FETCH JOIN
的一个优点是您的默认设置可能是懒惰的。