当前使用版本(必须填写清楚,否则不予处理)
3.2.0
该问题是怎么引起的?(最新版上已修复的会直接close掉)
直接查询,查看控制台输出sql
重现步骤
构建条件查询
testEntityService.getOne(
Wrappers.lambdaQuery(new TestEntity())
.eq(TestEntity::getId, 1)
.and(q -> q.eq(TestEntity::getName, 1).or().eq(TestEntity::getAge, 1))
);
报错信息
控制台输出语句:
SELECT id,name,age FROM test_entity WHERE (id = 1 AND ( (name = 1 OR age = 1) ))
Comment From: miemieYaho
必要的括号
Comment From: cnzbq
SELECT id,name,age FROM test_entity WHERE (id = 1 AND **(** (name = 1 OR age = 1) **)**)
SELECT id,name,age FROM test_entity WHERE (id = 1 AND (name = 1 OR age = 1) )
@miemieYaho 烦请大佬赐教,第一句和第二句会在什么情况下执行结果不一致(差别在加粗的括号)
Comment From: miemieYaho
你有用最新版试过?
Comment From: cnzbq
3.2.0存在上述问题,3.3.1已修复