当前使用版本(必填,否则不予处理)

3.5.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

项目用到MP,特别喜欢LambdaQueryWrapper,想尽可能用这个,而不光是MP内置的相关方法。其中有些复杂SQL的Where条件参数不在Bean类中,也不想去在bean中加,所以重写了LambdaQueryWrapper增加了一个Map属性来存放无法放在bean类里的参数。 重写过程发现LambdaQueryWrapper的initNeed方法无法Override,查看源码发现写的是 super.initNeed() 而如果是this.initNeed()就应该可以被重写了吧,不知道是故意为之还是BUG。(源码如下)。

public LambdaQueryWrapper(T entity) { super.setEntity(entity); super.initNeed(); }

public LambdaQueryWrapper(Class<T> entityClass) {
    super.setEntityClass(entityClass);
    **super**.initNeed();
}

重现步骤(如果有就写完整)

报错信息

Comment From: VampireAchao

3.5.2版本经尝试,initNeed可以被重写

MyBatis-Plus LambdaQueryWrapper的initNeed方法无法重写,看源码不知道是BUG还是有意为之