问题: 使用MybatisePlus通过自带的乐观锁机制去控制并发问题失效
场景: 实体类添加了@version注解, 配置类添加了乐观锁拦截器new OptimisticLockerInterceptor但是在实际更新数据的时候出现了并发的问题, 查看原因是版本好字段version每次更新后都没有被修改,导致每次查的时候都是相同的,所以每次都可以执行修改
解决方式:
1.在更新的时候先把原来的数据version查出来, 然后手动比较是否相等, 相等就更新不相等就不更新(这也是乐观锁的核心逻辑)
2.通过乐观锁拦截器去自动更新version的值,但是这样要先查,然后再更新, 直接通过创建对象的方式更新的话不会更新version的值(必须要先从数据库查出来,否则无效)