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
をロードします。
スクロールよりもページ処理の方が推奨されます。