QueryDSL错误的圆括号,带有“ OR”和“ AND”

anyOf(org.id.isnull(),org.employees.contains(employee)) .and(org.id.eq(currentOrg.getId()))

预期查询为:

org.id is null or (org_id=? and (? in (select employees2_.employees_id from org_employees employee2_ where abstractor1_.id=employees2_.org_id)))) 

但是结果:

org.id is null or org_id=? and (? in (select employees2_.employees_id from org_employees employee2_ where abstractor1_.id=employees2_.org_id))) 

我想念什么?

zhangchuanlle 回答:QueryDSL错误的圆括号,带有“ OR”和“ AND”

  

我想念什么?

您的括号匹配已关闭,querydsl做正确的事。

这里不需要

anyOforand可以做到。像这样:

org.id.isNull()
.or(org.id.eq(<something>).and(<subquery>))
本文链接:https://www.f2er.com/3041315.html

大家都在问