MultipleBagFetchException lors de la création de SessionFactory Hibernate
Lorsque vous rencontrez l'exception « MultipleBagFetchException : impossible de récupérer simultanément plusieurs sacs » lors de la création de SessionFactory, il est crucial d'inspecter les entités impliquées.
Dans l'exemple fourni, Parent contient un Relation OneToMany avec les enfants Child. De plus, la liste des enfants des parents est récupérée avec impatience. Cependant, lors de l'inclusion d'une autre entité « parent » AnotherParent dans Parent, une erreur survient en raison de la présence de deux collections récupérées avec impatience.
Pour résoudre ce problème, au lieu d'utiliser FetchType.EAGER, envisagez d'annoter les champs de collection avec @LazyCollection (LazyCollectionOption.FALSE). Cette approche évite la récupération hâtive des collections et élimine l'exception.
Il convient de noter que dans la plupart des cas, un Set
Bien que cette solution résout l'exception, il est important de procéder avec prudence. L'utilisation d'un ensemble seul n'élimine pas complètement le potentiel d'un produit cartésien, comme décrit par Vlad Mihalcea dans sa réponse intitulée "La pire solution".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!