2010-10-19 6 views
0

Disons que j'ai une table foo, une barre de table et une table zoo. foo a une barre de membre et il y a une relation un à un entre eux. barre a une liste et il y a une relation de un à plusieurs entre eux. La liste n'est pas automatiquement initialisée lorsque la barre est lue En utilisant hql je voudrais obtenir une liste des objets foo avec zoo initialisé en barre.Hibernate - association de second niveau

donc quelque chose sur les lignes de:

select f from Foo f 
left join fetch f.bar.zoo 

cela jette évidemment une exception et je reçois que c'est parce que le propriétaire est d'être renvoyé Foo et non Bar. Néanmoins j'ai besoin de Foo et non de Bar et j'ai besoin de zoo pour être initialisé. Existe-t-il un moyen de le faire dans une requête?

Merci Jill

+0

rouillés Mon HQL mais qui ressemble vraiment OK pour moi. Vous devez publier au moins la trace de pile de l'exception. – Ladlestein

Répondre

0

Ce qui suit devrait fonctionner:

FROM Foo f 
    LEFT JOIN FETCH f.bar b 
    LEFT JOIN FETCH b.zoos 
+0

essayé mais maintenant je reçois une exception de pointeur nul. sur la deuxième gauche, allez chercher. – Jill

+0

@Jill Veuillez montrer les mappings permettant de reproduire. J'ai essayé avec certaines entités et j'obtiens le résultat attendu. –

Questions connexes