我在程序中加入乐观锁后,自动填充的更新时间失效了。如果更新时间初始为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()); }