と を使用する Java Web アプリケーションがHibernate
ありMySQL
ます。ページに検索フォームがあり、送信時に HQL を作成しQuery
て結果を取得します。
ページングには.setFirstResult()
とを使用しました。.setMaxResults()
これは正常に機能しますが、結果セットに大量のレコードが含まれている場合は機能しません... .setMaxResults() は実際の SQL クエリで制限を使用すると思いましたが、そうではないようです。したがって、結果全体をメモリにロードし、.setMaxResults() で設定した値のみを使用するため、メモリの問題が発生します。
これが機能する方法ですか、それとも私が何か間違ったことをしているだけですか?
もしそうなら、これは私には使えません。
ps: Criteria API では機能しますが、基準の作成には他にもいくつかの制限がありました。そのため、代わりに HQL を使用しようとしましたが、現在この問題に直面しています。
それで、私は私の観察で正しいですか?別の解決策はありますか?