上次写过一次乐观锁,是基于version去实现的
Spring Data 针对mongodb提供了乐观锁实现,提供@Version注解,用来标识版本,保存、删除等操作会验证version,不一致会抛出OptimisticLockingFailureException
哪些数据类型可以作为乐观锁的判定条件
如果系统可以更改Integer,Long等类型,则使用这样的字段通常是一个好的选择。
我们也可以使用一个Date类型的变量来实现。但是如果极端的并发情况超越了我们数据库的时间粒度,则这种锁可能会fail