当前使用版本 mybatis-plus 3.5.6 当前环境信息 jdk 17 springboot 3.1.11 mysql 8.0.37 描述bug现象 ` @Slf4j @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { metaObject.setValue("createTime", LocalDateTime.now()); //this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); }

@Override
public void updateFill(MetaObject metaObject) {
    metaObject.setValue("updateTime", LocalDateTime.now());

       //this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
}

} ` 提供问题复现步骤

提供完整堆栈日志(可选)

提供问题复现工程(可选) 请尽量提供复现工程,减少大家排错的时间.

Comment From: miemieYaho

strictInsertFill看源码

Comment From: muyu66

strictInsertFill看源码

源码有什么神奇所在嘛?strictInsertFill是当值为null时可设置。strictUpdateFill也是如此的话,和strictInsertFill又有什么区别呢

    default MetaObjectHandler strictFillStrategy(MetaObject metaObject, String fieldName, Supplier<?> fieldVal) {
        if (metaObject.getValue(fieldName) == null) {
            Object obj = fieldVal.get();
            if (Objects.nonNull(obj)) {
                metaObject.setValue(fieldName, obj);
            }
        }

        return this;
    }

3.5.3.1