spring data jpa 奇怪的查询

今天在项目中使用jpa的  Specification 进行查询   

spring data jpa 奇怪的查询

但是查询结果不如意

看看生成的sql 忽略前面一部分

spring data jpa 奇怪的查询

怎么 都变成了or 

这样的话条件1成立了,那后面的条件就不管成立或不成立都按成立的条件1来执行,结果肯定是错误的。

排查问题 发现

spring data jpa 奇怪的查询

使用的是or 这就尴尬了 

使用了or 则不是 equal 的条件都将使用or 连接查询,改成and查询就是了。

水了水了