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.7k
1 个回答

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

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

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

推荐问题