Hibernate HQL: deux niveaux de jointure
Question
Je suis nouveau sur HQL et ai les relations de table suivantes:
-
Le terme
a beaucoup deDéfinitions
-
La définition
contient de nombreuxDefinitionProducts
-
DefinitionProducts
a unProduit
Je souhaite obtenir la liste des termes
comportant au moins une définition
comportant au moins un DefinitionProduct
possédant un Produit
C’est ma meilleure tentative (en Grails):
Term.findAll("from Term t, Definition d inner join t.definitions def,
def.definitionProducts dp where ? = some elements (dp.product)",
Product.get(1))
Avec ce qui précède, j'obtiens un "def.definitionProducts n'est pas mappé". exception.
La solution
sélectionnez t à partir du terme t join t.definitions def rejoindre def.definitionProducts dp where dp.product =?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow