2012-03-16 63 views
1

我在写一个批处理并使用JPA进行持久化。我有一个有很多记录的表格,我需要以100或500个组读取所有记录。我不想一次将所有记录加载到内存中,因为内存不足。按组中的组获取​​记录JPA

例如:

  • 第一组:记录1 500
  • 二组:记录501到1000

有没有更好的办法做到这一点?


相关问题

JPA: what is the proper pattern for iterating over large result sets?

Total row count for pagination using JPA Criteria API

回答

2

你应该设置的第一个结果,并与方法的javax.persistence.Query结果数setFirstResult()共用和setMaxResults() 。

+0

谢谢!我使用了一个变量来使用第一个结果号,初始化为0.然后我设置了最大结果数,然后使用query()方法向数据库发出了询问。最后要做的事情是通过前一个查询的最大结果数增加第一个结果。 – 2012-03-29 23:48:27