相关疑难解决方法(0)

JPA:迭代大型结果集的正确模式是什么?

假设我有一张包含数百万行的表格.使用JPA,对该表的查询进行迭代的正确方法是什么,这样我就没有包含数百万个对象的所有内存列表

例如,我怀疑如果表很大,以下内容会爆炸:

List<Model> models = entityManager().createQuery("from Model m", Model.class).getResultList();

for (Model model : models)
{
     System.out.println(model.getId());
}
Run Code Online (Sandbox Code Playgroud)

分页(循环和手动更新setFirstResult()/ setMaxResult())真的是最好的解决方案吗?

编辑:我定位的主要用例是一种批处理作业.如果运行需要很长时间,那就没关系了.没有涉及Web客户端; 我只需要为每一行"做一些事情",一次一个(或一些小N).我只是想避免让它们同时存在于内存中.

java hibernate jpa

112
推荐指数
7
解决办法
9万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1