gpt4 book ai didi

java - 通过调用 DAO.getAll() 避免收集大量 ID

转载 作者:行者123 更新时间:2023-11-30 11:59:26 24 4
gpt4 key购买 nike

而不是返回 List<Long>调用时的 ID PersonDao.getAll()我们不希望内存中有完整的 ID 集合。

似乎返回一个 org.springframework.jdbc.support.rowset.SqlRowSet并迭代此行集不会将每个对象都保存在内存中。

这里唯一的问题是我无法将此行转换为我的实体。

有更好的方法吗?

通常我们想对数据库中的每个人执行一个方法

最佳答案

您可以使用 ScrollableResults 遍历结果集,并定期清除 session 以处理不需要的对象。 Hibernate 书中的示例:

ScrollableResults itemCursor = session.createQuery("from Item").scroll();
int count=0;

while ( itemCursor.next() ) {
Item item = (Item) itemCursor.get(0);
modifyItem(item);
if ( ++count % 100 == 0 ) {
session.flush();
session.clear();
}
}

参见 the Hibernate reference有关更多示例和详细信息。

关于java - 通过调用 DAO.getAll() 避免收集大量 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2599462/

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