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

3.3.0

该问题是怎么引起的?(最新版上已修复的会直接close掉)

版本从3.1.0升级到3.2.0后,原来使用lambda表达式执行修改操作报错

重现步骤

使用3.2.0 类似问题是 #1428

报错信息

MyBatis-Plus 3.3.0 cannot find lambda cache for this property of entity

Comment From: kanghouchao

{1248E68E-D9CE-4D22-8E1A-4799D01066EB}

Comment From: kanghouchao

写问题描述之前我用的是3.2.0,但是写的过程中用3.3.0测试了一下,也是一样的问题,改了标题,忘记改问题描述里面的版本号了

Comment From: kanghouchao

试了3.1.0,3.1.2 3.2.0和3.3.0

只有3.1.0支持类似写法

Comment From: miemieYaho

给出你的复现demo

Comment From: kanghouchao

完整代码弄不出来 先给一个示例代码,完整的demo我稍后写一个

`@Validated public class BaseServiceImpl, T extends BaseEntity> extends ServiceImpl implements BaseService {

   private Class<T> entityClass;

   ......

@Override
public boolean deleteLogic(@NotEmpty List<Integer> ids) {
            T entity = BeanUtil.netInstance(entityClass);
            entity.setUpdateUser(....);
            .....
    return super.update(entity, new UpdateWrapper<T>().lambda().in(T::getId, ids);
}

}`

Comment From: miemieYaho

T::getId ,现在不支持这种

Comment From: kanghouchao

那这个方法不可用了?还是有 其他的传参方式

Comment From: miemieYaho

不支持泛型,你非要这么用就用 3.3.1.10-SNAPSHOT ,该版本下直接new LambdaWrapper 使用 entityclass 入参的构造函数

Comment From: kanghouchao

好吧

Comment From: kanghouchao

如果实例里面设置了逻辑删除字段,就在调用remove方法的时候触发自动填充的update也能实现这个效果

Comment From: miemieYaho

只能用 LambdaWrapper 的 entityclass 入参的构造器 new

Comment From: ye17186

T::getId 这种用法,后续还考虑支持吗?