当前使用版本(必须填写清楚,否则不予处理)
3.3.0
该问题是怎么引起的?(最新版上已修复的会直接close掉)
自定义 Sql ,Mapper 使用QueryWrapper 不能使用setEntity 添加where条件 这个案例是手敲上去的, 想反映的情况就是上面这个问题
重现步骤
//mapper.java
public interface UserMapper extends BaseMapper<User> {
@Select("select * from user ${ew.customSqlSegment}")
List get(@Param(Constants.WRAPPER) Wrapper wrapper);
}
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Autowired
UserMapper usMapper;
public List getSysFPage() {
QueryWrapper<User> q = new QueryWrapper<>();
q.eq("age", "18");
User u = new User();
u.setName("zs");
// this.list(q);这样可以拥有name 和 age两个条件,
q.setEntity(u);
return usMapper.get(q);
}
}
SQL为语句为: select * from user where ( age=18 ) 没有加入name条件
报错信息
Comment From: miemieYaho
entity和 customSqlSegment 没有任何关系
Comment From: doudouaaa
entity和 customSqlSegment 没有任何关系
也就是在自定义SQL时, 无法使用 setEntity 吗?
Comment From: miemieYaho
嗯
Comment From: xieshaoping
我也遇到了,需要可以添加一下这个功能