假设我有一个像这样的JPQL查询:
SELECT p
FROM Parent p
LEFT OUTER JOIN p.children child
WHERE p.children IS EMPTY
OR child.x = 'y'
我希望在以下任何一种情况下返回Parent
个实例:
Parent
没有孩子Parent
至少有一个x
等于y
根据JPA规范,上面的查询应该做我想要的吗?或者我必须拖出EXISTS
- 和 - 子查询 - 和 - IN
机器吗?
答案 0 :(得分:0)
是的,无论JPA实现如何,您的查询都会执行您想要的操作。我个人认为没有任何怀疑的余地,虽然我能感觉到你不喜欢的东西:表children
可能会加入两次。但是在我的IMHO中,如果需要,JPA实现应该进行两次数据库查询,以便返回正确的数据。