当您有一个实体列表时,您将如何预先加载特定实体具有的所有关系,例如:
List<Question> questions = query.getResultList();
查询位置:SELECT q FROM Question q;
我知道您可以使用 Hibernate.initialize()
但这是否意味着我需要循环访问存储库层中的列表?或者有更好的解决方案吗?
最佳答案
您可以使用10.2.3.5.3. JPQL Fetch Joins .
A FETCH JOIN enables the fetching of an association as a side effect of the execution of a query. A FETCH JOIN is specified over an entity and its related entities.
从上面的链接借用的示例:
SELECT mag FROM Magazine mag LEFT JOIN FETCH mag.articles WHERE mag.id = 1
我认为 FETCH JOIN
的一个优点是您的默认设置可以是惰性的。
关于java - 如何预先加载实体列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334260/