Bonjour.
J'ai une table A, qui contient une ref B qui elle contient une collection de C.
Le mode de chargement par défaut est lazy, et je ne peux pas le modifier.
Je souhaite dans une requête retrouver un A précis, tout en chargeant directement son B ainsi que la collection C de B.
Faire un chargement explicite donc, et outrepasser le mode lazy.
Si je fais ceci, c'est bon, B est bien chargé :
"select A from A a inner join fetch a.B where ..."
Mais si je fais ceci:
"select A from A a inner join fetch a.B inner join fetch a.B.C where ..." je récolte un:
"query specified join fetching, but the owner of the fetched association was not present in the select list"
Apparemment dans les versions précédentes d'hibernate ceci marchait :
"select A from A a inner join fetch a.B as bb inner join fetch bb.C where ..." mais ça me sort la même chose.
Je souhaiterai vraiment éviter d'avoir à faire des requêtes supplémentaires après pour récup pour chaque B sa collection de C...
Y'aurait-il une solution?
Merci!
Partager