Hibernate HQL: due livelli di join
Domanda
Sono nuovo di HQL e ho le seguenti relazioni tra tabelle:
-
Termine
contiene moltedefinizioni
-
Definizione
ha moltiDefinitionProducts
-
DefinitionProducts
ha unProduct
Voglio ottenere l'elenco di Termini
che hanno almeno un Definition
che ha almeno un DefinitionProduct
che ha un prodotto
Questo è il mio miglior tentativo (in Grails):
Term.findAll("from Term t, Definition d inner join t.definitions def,
def.definitionProducts dp where ? = some elements (dp.product)",
Product.get(1))
Con quanto sopra, ottengo un " def.definitionProdotti non mappati " fa eccezione.
Soluzione
seleziona t da Termine t join t.definitions def join def.definitionProducts dp dove dp.product =?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow