MyBatis-Plus乐观锁无效是怎么回事?

表加了一列version @Version也写了, 插件也注册了 无效?是不是还有其他条件?版本3.3.2

Goods goods = goodsService.getOne(Wrappers.<Goods>lambdaQuery()
                    .eq(Goods::getId, orderGoods.getId()));
goods.setStock()

goodsService.updateById(goods)

数据库version字段还是null 没自己加1 是不是我哪里搞错了?

阅读 4.6k
1 个回答

如果数据库version就是null,那肯定不行的。我试了一下,mybatis-plus最终生成的updatesql大概是,

UPDATE article  SET title='1', version=1  WHERE id='1' AND version=0;

而且如果version为null,就没法执行+1操作了,所以你要确保数据库中version字段是有值的才行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题