当前使用版本(必填,否则不予处理)
3.3.0
该问题是如何引起的?(确定最新版也有问题再提!!!)
自动填充updateTime时候,第一次update可以成功填充,当二次修改时,updateTime不为空,此时不会自动填充新的updateTime.仍为第一次更新的时间.
重现步骤(如果有就写完整)
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date(System.currentTimeMillis()));
// 已过时,请使用this.strictUpdateFill // this.setFieldValByName("updateTime", new Date(System.currentTimeMillis()), metaObject); // this.setFieldValByName("updateUserId",SecUtils.getCurrentUser().getId(), metaObject); }
/**
* 修改时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
protected Date updateTime;
新增一条数据.自动填充createTime成功.updateTime为null.对这条数据进行修改,自动填充updateTime成功.再次修改此条数据.updateTime没有自动填充.
报错信息
无报错
Comment From: miemieYaho
点开调用链查看,默认规则就是有值不填充
Comment From: Wsr-7
点开调用链查看,默认规则就是有值不填充
谢谢你的解答!.但我发现显示已过时的方法:this.setFieldValByName却可以成功多次对update操作有值填充.请教一下,若我使用3.3.0以上版本,且需要做到有值也继续填充应如何设置呢?
Comment From: miemieYaho
重写 #strictFillStrategy