mybatis自动填充更新字段无效
版本:renren-security 2.8.0 |
开发环境:IDEA |
Entity对象
[pre]
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
[/pre]
在insert时更新者和更新时间字段可以自动填充,但是update的时候一直未填充。因为mybatis采用严格填充模式,所以需要先赋值null,才能完成填充。
io.renren.common.handler.FieldMetaObjectHandler 方法中,
[pre]
@Override
public void updateFill(MetaObject metaObject) {
//更新者
metaObject.setValue(UPDATER, null);//需要赋值成null,mybatis才能填充
strictUpdateFill(metaObject, UPDATER, Long.class, SecurityUser.getUserId());
//更新时间
metaObject.setValue(UPDATE_DATE, null);
strictUpdateFill(metaObject, UPDATE_DATE, Date.class, new Date());
}
[/pre]
请问这样实现有没有问题?或者有没有其它解决方式。谢谢。