JPQL查询不起作用(可能是因为'成员')

时间:2016-03-17 16:04:40

标签: mysql hibernate jpa playframework-2.3

如果我运行以下查询:

... AND :user MEMBER OF c.owners AND ...

它工作正常,但如果我添加以下条件,如

...AND ( :user MEMBER OF c.owners OR ( :user MEMBER OF c.department.members AND c.confidential = false ) ) AND ...

它不会返回我想要的结果(就像之前的查询一样)。知道为什么吗?

修改

以下是生成的查询的相关部分(整个查询是相同的,但这些部分)

有了这个我收回了我想要的记录

and ( ? in ( select owners1_.owner_id from contract_owner owners1_ where contract0_.id=owners1_.contract_id ) )

有了这个我不知道回来了

and ( ? in ( select owners1_.owner_id from contract_owner owners1_ where contract0_.id=owners1_.contract_id ) or ( ? in ( select sysuser3_.sysuser_id from department_sysuser sysuser3_ where department2_.id=sysuser3_.department_id ) ) and contract0_.confidential=0 )

EDIT2:

在第一个片段中,我返回1条记录(仅限dev数据,prod它会更多),而在第二部分我想要取回相同的记录,但它不会回复。

用户是合同的所有者。

0 个答案:

没有答案