mybatis-plus
mybatis-plus copied to clipboard
QueryWrapper/LambdaQueryWrapper中调用super.initNeed(),无法调用子类方法
当前使用版本(必填,否则不予处理)
3.5.5
该问题是如何引起的?(确定最新版也有问题再提!!!)
QueryWrapper/LambdaQueryWrapper中调用super.initNeed(),无法调用子类方法
重现步骤(如果有就写完整)
报错信息
期望
期望是调用this.initNeed()/setEntity(),这样可以允许调用子类方法
你为什么要重写这两个方法?
@miemieYaho entity的代码如下
@Data
@TableName(value = "test", autoResultMap = true)
public class TestEntity {
private String companyName;
}
调用代码如下
TestEntity projectEntity = new TestEntity();
projectEntity.setCompanyName("123");
QueryWrapper<TestEntity> wrapper = Wrappers.query(projectEntity);
wrapper.eq("COMPANY_NAME", "12345");
List<TestEntity> testEntities = testMapper.selectList(wrapper);
生成的sql语句如下
SELECT COMPANY_NAME FROM test WHERE COMPANY_NAME=? AND (COMPANY_NAME = ?)
我希望能够通过自定义wrapper达到wrapper.eq的条件能够覆盖entity自动生成的条件
预期sql为
SELECT COMPANY_NAME FROM test WHERE COMPANY_NAME=?)
且COMPANY_NAME对应的value为eq中设置的value