我正在处理一些现有代码,其中有这3个表
表格邀请
表Prj
表Prx
表Inv和表Prx的描述如下,
Inv-> a,b,c,PrjId,d,e,f
Prx-> u,v,w,InvId,PrjId,x,y,z
现在,我需要所有
的Inv记录不存在这样的Prx记录,例如
Inv-> PrjId = Prx-> PrjId和Prx.u ='some value1'
我已经有一个基于Inv表其他属性的Inv标准,例如a ='some value2'和b ='some value3'
所以我需要在现有的Inv Criteria中添加类似于“不存在”子句的内容。我尝试使用 Subqueries.notExists ,但无法正常工作。
如果有人详细解释解决方案,这将非常有帮助。
谢谢。
答案 0 :(得分:0)
notExists(x)的等效项是“左连接x,其中x.id为null”,因此对于SQL,您将执行类似的操作
select inv.* from Inv inv
left join Prx prx on (prx.prjld_id = inv.prjld_id and prx.u = 'some value1')
where prx.id is null
这当然不是休眠标准,但这也许可以帮助您。