假设我有一个JPQL查询,如下所示:
SELECT p
FROM Parent p
LEFT OUTER JOIN p.children child
WHERE p.children IS EMPTY
OR child.x = 'y'
我希望在以下任何情况下返回Parent
实例:
Parent
没有子级- CCD_ 3具有CCD_ 4等于CCD_
根据JPA规范,上面的查询应该满足我的要求吗?或者我必须拖出EXISTS
-和子查询以及-IN
机器吗?
是的,无论JPA实现如何,您的查询都会执行您想要的操作。就我个人而言,我看不出有任何怀疑的余地,尽管我能感觉到你不喜欢的地方:children
表可能会被连接两次。但是在我的IMHO中,如果需要,JPA实现应该进行两次DB查询,以便返回正确的数据。