gpt4 book ai didi

java - Spring MVC + hibernate 从数据库批量加载

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

抱歉,如果这是一个微不足道的问题,但我想找出正确的方法。有一个大表“帐户”(大约 10000 个条目)。我想迭代它,对实体执行一些逻辑,并在需要时将其合并回来。但我不想加载内存中的所有条目。

目前我正在这样做

List<Account> accounts = accountsDAO.all();
for (Account a: accounts) {
doSomeCode(a);
accountsDAO.merge(a);
}

我该如何改进它?

最佳答案

看看setFirstResultsetMaxResults而是手动执行并使用相当明确的查询(想想 SQL 的 LIMIT 子句)。

还有setFetchSize让驱动程序/数据库对无限查询的结果进行分块 ( example in the PostgreSQL JDBC docs )。 ScrollableResults似乎非常相似(至少就用法而言):您将获得一个结果迭代器来滚动匹配的记录( example in a random blog post )。

关于我的问题您正在使用哪个数据库:数据库和/或驱动程序之间存在差异。我不知道这里的具体细节,但有关加载 block 的一些功能必须得到相应的数据库驱动程序的支持。

关于java - Spring MVC + hibernate 从数据库批量加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612320/

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