Critères d'hibernation et jointure multiple
est possible avec Hibernate critères?
select A.something, B.something, C.something, D.something
from A JOIN B on A.id = B.id_fk
JOIN C ON B.id = C.id_fk
JOIN D ON C.id = D.id_fk;
source d'informationauteur Andrea Scarafoni
Vous devez vous connecter pour publier un commentaire.
J'ai eu exactement le même problème et a pu le résoudre comme ceci:
Remarque:
"b"
"c"
et"d"
dans le code ci-dessus se réfèrent à des noms d'attributs dansA
B
etC
classes, de la même manière (classeA
a attributb
et ainsi de suite).Pour cette solution, vous n'avez même pas besoin d'avoir
lazy
etfetch
paramètres à régler dans votreA.hbm.xml
.Il y a quelques bons exemples dans le Hibernate matériel de Référence qui montrent à utiliser la méthode setFetchMode pour récupérer des associations avec une jointure externe.
En est un exemple:
Il est également informations sur les différents extraction stragies qui peuvent vous être utiles.
Essayer de régler le mode de lecture dans vos critères, comme:
Cela crée une requête de jointure.
Vous pouvez trouver plus de détails ici.
Oui, en fait il y a plusieurs façons de le faire: