gpt4 book ai didi

java - 如何通过不对数据库进行 N 次调用来获取实体集合中的惰性属性

转载 作者:行者123 更新时间:2023-12-01 23:39:10 26 4
gpt4 key购买 nike

如何通过不对数据库进行 N 次调用来获取实体集合中的惰性属性。示例:

transactions = getTransactionsBySomeCriteriaApiQuery(..); // n transactions
// this make 3*n calls to DB, I want to do only a few calls
transactions.forEach(res -> {
res.getLazyCollection1().size();
res.getLazyCollection2().size();
res.getLazyCollection3().size();
});
return transactions;

假设 n 是一个大数。我想知道是否可以通过不对数据库进行大量调用来获取惰性数据。我正在使用 JPA (eclipselink),关系数据库。

编辑:确实是N+1选择问题,我想知道如何在eclipselink中解决它。请注意,我不想将实体映射从惰性更改为急切,因为其他地方需要它。我尝试过使用 fetch joins(在 criteriaAPI 上获取),但是当使用多个时这不起作用。

最佳答案

使用FETCH JOIN来检索初始查询中实际需要的数据。

关于java - 如何通过不对数据库进行 N 次调用来获取实体集合中的惰性属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58268914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com