【问题标题】:Getting records by groups in JPA在 JPA 中按组获取记录
【发布时间】:2012-03-16 11:06:58
【问题描述】:

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

例如:

  • 第一组:记录 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

【问题讨论】:

    标签: java jpa persistence jpa-2.0 batch-processing


    【解决方案1】:

    您应该使用 setFirstResult() 和 setMaxResults() 方法在 javax.persistence.Query 中设置第一个结果和结果数。

    【讨论】:

    • 谢谢!我使用一个变量来使用第一个结果编号,初始化为 0。然后我设置了最大结果的数量,然后我使用 query() 方法对数据库进行了询问。最后要做的是将第一个结果增加前一个查询的最大结果数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 2017-11-19
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    相关资源
    最近更新 更多