1

と を使用する Java Web アプリケーションがHibernateありMySQLます。ページに検索フォームがあり、送信時に HQL を作成しQueryて結果を取得します。

ページングには.setFirstResult()とを使用しました。.setMaxResults()これは正常に機能しますが、結果セットに大量のレコードが含まれている場合は機能しません... .setMaxResults() は実際の SQL クエリで制限を使用すると思いましたが、そうではないようです。したがって、結果全体をメモリにロードし、.setMaxResults() で設定した値のみを使用するため、メモリの問題が発生します。

これが機能する方法ですか、それとも私が何か間違ったことをしているだけですか?

もしそうなら、これは私には使えません。

ps: Criteria API では機能しますが、基準の作成には他にもいくつかの制限がありました。そのため、代わりに HQL を使用しようとしましたが、現在この問題に直面しています。

それで、私は私の観察で正しいですか?別の解決策はありますか?

4

0 に答える 0