2011-02-16 2 views
0

Supposons que j'ai une table nommée Products qui est auto-jointe en utilisant une clé étrangère: parent_product_id -> id. Maintenant, dans le modèle des produits hibernate correspondant, j'ai obtenu un ensemble qui est composé de tous les produits pour enfants de ce produit. Fetch mode est réglé sur EAGER parce que je veux obtenir tous les produits enfants de ce produit lorsque ce produit est récupéré. Mais, la chose est, je ne veux pas obtenir tous les enfants des enfants (petits-fils ce produit) ou les enfants des enfants des enfants (arrière-petits-fils de ce produit), qui est ce que je reçois avec l'EAGER aller chercher. Je veux juste les premiers - seulement les premiers enfants de ce produit. C'est comme si le produit devait être d'abord récupéré avec empressement, puis il devrait passer à la récupération paresseux. Que devrais-je faire?Hibernate: recherche en profondeur de la limite de profondeur

Merci à l'avance

Répondre

2

Vous pouvez essayer la mise max_fetch_depth mais cela ne peut être la meilleure solution. Vous pouvez envisager d'autres approches, par exemple, ne pas utiliser EAGER dans ce scénario. Avez-vous regardé le forum Hibernate? C'est un sujet assez commun. Peut-être jeter un oeil à ce thread.

Questions connexes