2012-03-16 11 views
1

バッチを作成し、永続性のためにJPAを使用しています。レコードが多いテーブルがあり、すべてのレコードを100または500のグループで読み込む必要があります。十分なメモリがないため、すべてのレコードを一度にメモリにロードしたくありません。例えばJPAのグループごとのレコード取得

  • まずグループ:1 500
  • への第二のグループのレコード:レコードを1000から501
  • など

それを行うには良い方法はありますか?


関連質問

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()メソッドを使用してDBに問い合わせを行いました。最後に行うべきことは、最初の結果を前のクエリの最大結果の数だけ増分することでした。 –

関連する問題