使用HQL排除具有特定值的子项的父项

时间:2016-10-12 17:14:28

标签: hql parent-child

我有一些关系像

的表
  Parent
 ------
 parentPk
 //data

 Child
 ------
 parentFk
 status
 //data

我希望在没有特定状态的孩子的情况下检索所有父母。现在,我可以使用像

这样的“not in”子句来做到这一点
 ... where parentPk not in (select parentFk from Child where status="ABC") 

然而,这似乎效率低下。我真正想做的是像

 where "ABC" not in elements(Parent.child.status)

但显然这不起作用,因为状态不是集合。有没有办法让它做我想要的,或者是“不在”条款我最好的选择?

1 个答案:

答案 0 :(得分:0)

我使用

解决了这个问题
{{1}}

仍然不理想,但比检索所有密钥更好