5.2. 結果の取得
Hibernate Search クエリが構築された場合、Hibernate Search クエリの実行は HQL または Criteria クエリの実行とまったく変わりません。同じパラダイムとオブジェクトセマンティックが適用されます。
list()、uniqueResult()、iterate()、scroll() などのすべての共通の操作が利用可能です。
5.2.1. パフォーマンスに関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
適切な結果の数を期待し (たとえば、ページ処理を使用)、これらすべてを処理する場合は、
list() または uniqueResult() が推奨されます。エンティティ batch-size が適切に設定された場合は、list() が最適です。list()、uniqueResult()、および iterate() を使用する場合、Hibernate Search はすべての Lucene Hits エレメントを (ページ処理内で) 処理する必要があることに注意してください。
Lucene ドキュメントのロードを最小化する場合は、
scroll() が適しています。作業を行ったら ScrollableResults オブジェクトをクローズすることを忘れないでください (クローズしないと、Lucene リソースが保持されます)。scroll, を使用し、オブジェクトをバッチでロードする場合は、query.setFetchSize() を使用できます。オブジェクトがアクセスされ、まだロードされていない場合、Hibernate Search は 1 つのパスで次の fetchSize をロードします。
スクロールよりもページ処理の方が推奨されます。