我正在尝试编写一个 Hibernate (JPA) 查询来选择那些所有孩子都匹配一个属性的父母。
让我们举一个实际的例子......
我想选择那些孩子都是金发的父亲。如果只有一个是黑发的,则不会选择父亲。
查询将如何显示?先感谢您!
也许这样的事情会起作用:
From Father f
where not exists (select c from f.children c where not c.hair = "BLONDE");
只是一个想法...
ALL
使用参见http://openjpa.apache.org/builds/1.1.0/docs/jpa_langref.html#jpa_langref_all_any试试这个:
select p from parent where 'blonde'=all(parent.children.haircolor)
这也应该有效,并且看起来更干净。
SELECT p from Parent p join p.children c where c.haircolor = 'blonde';