多数のレコードを選択し、外部システムに送信するファイルをフォーマットすることを含む、毎日のバッチプロセスがあります。また、これらのレコードを送信済みとしてマークして、明日再送信されないようにする必要があります。
私の素朴なJDBCの方法では、ステートメントを準備して実行してから、レコードセットのループを開始します。レコードセットを進めるだけなので、アプリケーションサーバーが結果セット全体を一度にメモリに保持する必要はありません。レコードのグループは、データベースサーバーからフィードすることができます。
ここで、Hibernateを使用しているとしましょう。一度にメモリ内の結果セット全体を表すオブジェクトの束になってしまうのではないでしょうか。