当前使用版本(必填,否则不予处理)
3.4.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
针对基础数据类型的自动填充失败
重现步骤(如果有就写完整)
针对一个基础数据类型,比如createTime,设置自动填充
@TableField(fill = FieldFill.INSERT)
private long createTime;
检查填充策略,可以看到注释描述为基础类型也支持填充,等同于IGNORE
目前其他方法已经被设置@Deprecated 推荐的只有 strictInsertFill 但是default方法中只会判断方法是否为null
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;
}
是否针对基础数据类型,必须调用 setFieldValByName()方法? 还是在实现strictFillStrategy()方法过程中的遗漏,建议使用哪个?
报错信息
无
Comment From: miemieYaho
基本数据类型有默认值,不建议使用也不会单独进行处理