ホームページ >Java >&#&チュートリアル >複数のコレクションをフェッチするときに Hibernate の MultipleBagFetchException を解決するにはどうすればよいですか?
Hibernate で MultipleBagFetchException が発生する: 複数のコレクションの同時クエリの処理
複数のコレクションからデータを同時に取得しようとすると、プログラマが例外に遭遇する可能性があります「org.hibernate.loader.MultipleBagFetchException: 同時にフェッチできません」複数のバッグ。」この問題に対処するには、根本的な問題を理解することが重要です。
この例では、親エンティティには子エンティティのコレクションがあり、別の「祖父母」エンティティである AnotherParent には AnotherChild エンティティのコレクションが含まれています。デフォルトでは、Hibernate は両方のコレクションを一度に積極的にフェッチします。ただし、このアプローチではデカルト積の問題が発生し、結果が爆発的に増加する可能性があります。
この問題を回避するには、主に 2 つの解決策があります。
注意事項:
Set を使用しても、基になるデカルト座標は削除されない可能性があります。製品の問題ではありますが、重複する要素の可能性を排除することで影響は軽減されます。ただし、重要なデータセットの場合は、基になる結合操作が原因で Set であってもパフォーマンスの問題が発生する可能性があります。
以上が複数のコレクションをフェッチするときに Hibernate の MultipleBagFetchException を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。