2012-10-16 7 views
5

Ich versuche, eine Hibernate (JPA) -Abfrage zu schreiben, um diejenigen Eltern zu wählen, deren ihre Kinder mit einer Eigenschaft übereinstimmen.Hibernate-Abfrage - Wie wählt man die Eltern aus, bei denen ALLE Kinder einen Wert haben?

Lassen Sie uns ein praktisches Beispiel machen ...

Ich will diese Väter wählen, die ALLE ihre Kinder blond haben. Wenn nur einer schwarzhaarig ist, wird der Vater nicht ausgewählt.

Wie sieht die Abfrage aus? Vielen Dank im Voraus!

Antwort

4

Vielleicht so etwas wie:

von Vater f wo existiert nicht (wählen c aus f.children c, wo nicht c.hair = "BLONDE")

nur eine Idee ...

1

Dies sollte arbeiten, und ich auch t sieht ein bisschen sauberer aus.

SELECT p from Parent p join p.children c where c.haircolor = 'blonde';