https://www.oldman.run/posts/35885c48/

发现问题

修改的时候,发现修改时间字段并没有自动更新。

官网介绍

image

查阅源码

strictFillStrategy方法,如果待更新的字段内容不为null,无法自动填充。

解决问题

重写 strictFillStrategy 方法

1
2
3
4
5
6
7
8
9
@Override
public MetaObjectHandler strictFillStrategy(MetaObject metaObject, String fieldName, Supplier<?> fieldVal) {
Object obj = fieldVal.get();
if (Objects.nonNull(obj)) {
metaObject.setValue(fieldName, obj);
}
return this;
}

直接调用 setFieldValByName方法 (不推荐)

1
this.setFieldValByName(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());