ホームページ >Java >&#&チュートリアル >SessionFactory の作成中に Hibernate の MultipleBagFetchException を解決するにはどうすればよいですか?
Hibernate SessionFactory 作成中の MultipleBagFetchException
SessionFactory の作成中に「MultipleBagFetchException: 複数のバッグを同時にフェッチできません」例外が発生した場合は、検査することが重要ですエンティティ
この例では、Parent には Child への OneToMany 関係が含まれています。さらに、親の子のリストが熱心に取得されます。ただし、別の「親」エンティティ AnotherParent を Parent に含める場合、積極的にフェッチされた 2 つのコレクションが存在するためにエラーが発生します。
この問題を解決するには、FetchType.EAGER を使用する代わりに、コレクション フィールドにアノテーションを付けることを検討してください。 @LazyCollection(LazyCollectionOption.FALSE)。このアプローチにより、コレクションの積極的なフェッチが回避され、例外が排除されます。
ほとんどの場合、Set
この解決策は例外に対処していますが、注意して進めることが重要です。 Vlad Mihalcea が「最悪の解決策」とラベル付けした回答で説明しているように、セットを単独で使用してもデカルト積の可能性が完全に排除されるわけではありません。
以上がSessionFactory の作成中に Hibernate の MultipleBagFetchException を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。