5

我正在尝试编写一个 Hibernate (JPA) 查询来选择那些所有孩子都匹配一个属性的父母。

让我们举一个实际的例子......

我想选择那些孩子都是金发的父亲。如果只有一个是黑发的,则不会选择父亲。

查询将如何显示?先感谢您!

4

3 回答 3

4

也许这样的事情会起作用:

From Father f
where not exists (select c from f.children c where not c.hair = "BLONDE");

只是一个想法...

于 2012-10-16T20:17:48.190 回答
1

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)
于 2012-10-17T10:01:27.243 回答
1

这也应该有效,并且看起来更干净。

SELECT p from Parent p join p.children c where c.haircolor = 'blonde';
于 2013-11-11T15:52:19.247 回答