以下代码中 参数 sPartsStock,是从页面上传过来的。
1 现象一
这段代码,执行完,提交事务的时候,数据库里的值 WareHouseId 会被更新,但是代码里并没有写save或者update方法
原因:库里查出的对象 sPartsStock123 是 托管状态 会自动同步到数据库,不会验证乐观锁,执行flush操作
2 现象二
代码执行前,手动把数据库里的version字段+1,也就是说 sPartsStock 中的version为 100, sPartsStock123 中的version为 101,
这段代码,执行完,不会报乐观锁的异常,并且会更新成功,且version会变为102。
问题1 为什么没有报乐观锁异常
DefaultMergeEventListener.isVersionChanged 来判断version 是否相同
boolean c