【发布时间】:2012-05-11 10:14:23
【问题描述】:
QueryDSL where 子句中如何表达形式:
WHERE (E1 AND E2) OR (E3 AND E4)
E1..E4 是任意布尔表达式。关键是要在括号内开始查询,因此是 (E1 AND E2)。
【问题讨论】:
-
你找到你要找的东西了吗?
标签: querydsl
QueryDSL where 子句中如何表达形式:
WHERE (E1 AND E2) OR (E3 AND E4)
E1..E4 是任意布尔表达式。关键是要在括号内开始查询,因此是 (E1 AND E2)。
【问题讨论】:
标签: querydsl
where(e1.and(e2).or(e3.and(e4)))
【讨论】:
where(e1.or(e2).and(e3)) 是指(e1 or e2) and e3) 还是e1 or (e2 and e3)。我真的很惊讶where(e1.or(e2).and(e3.or(e4))) 产生了我真正想要的(e1 or e2) and (e3 or e4)。但是第一个 OR 是怎么出现在括号里的呢?基于什么?那么...and(e3.or(e4)) 对...and(e3).or(e4) 有什么影响吗?我们通常会在日志中查看我们的查询,但我希望找到有关此序列化的更具体的内容。