wayshall/dbm

mysql使用date类型做乐观锁版本时,因为精度问题,会导致非并发更新也会抛EntityVersionException

Closed this issue · 1 comments

mysql使用date类型做乐观锁版本时,因为精度问题,会导致非并发更新也会抛EntityVersionException

1、新建一个对象,使用Date类型作为版本控制字段;
2、使用persist保存;
3、不使用load方法重新获取,直接修改原对象后直接update,会抛出EntityVersionException,但实际上并没有并发修改数据;

实际上因为mysql的问题,第二步时,Java实体对象和数据库的状态并不一致,前者比后者更精确,后者只能精确到秒。

fixed in 4.7.2-SNAPSHOT