在mybatisplus中加入乐观锁后,自动填充的更新时间失效了

aoi.tsukasa 2021-02-18 09:43:55
我在程序中加入乐观锁后,自动填充的更新时间失效了。如果更新时间初始为null,就会有自动填充。但是当数据中更新时间原先就有值的话,自动填充就是失效。这是为什么??? 我用的mybatis-plus版本是3.4.2。 不用乐观锁的时候,是可以正常用自动填充的。

求大佬帮我看看,感谢感谢!!!!!!!!

测试程序:

@Test
public void testOptimisticLocker(){
User user = userMapper.selectById(4L);
user.setName("Lily");
user.setEmail("12222222@qq.com");
userMapper.updateById(user);
}
乐观锁组件:

// 注册乐观锁插件
@Bean
public MybatisPlusInterceptor MybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return mybatisPlusInterceptor;
}
填充策略:

// 更新时的填充策略
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update fill.....");
//this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
this.strictUpdateFill(metaObject,"updateTime",Date.class,new Date());
}
...全文
784 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chopin406 2021-03-04
  • 打赏
  • 举报
回复 3
@TableField(fill = FieldFill.INSERT_UPDATE, update = "now()")
luj_1768 2021-02-20
  • 打赏
  • 举报
回复
是否与延迟有关:取得的时间是在锁定前,到锁定成功时已经失效变成null了?

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧