【发布时间】:2016-03-29 12:55:02
【问题描述】:
最近一直在研究数据库事务,一篇文章引用如下
JPA 通过@Version 注释自动支持行版本控制。当您拥有带有@Version 注释字段或属性的实体时,将自动启用乐观锁定。
我的理解是数据库隔离级别策略是使用不同的锁来维护的,比如
- 读取未提交:使用独占写入锁实现
- 已提交读:使用共享读锁和独占写锁实现。
等等。因此,事务隔离是通过不同的锁定实现的,我猜是使用悲观锁定。
我的问题是,当一个字段被声明为 @Version 注释时,它是否会覆盖底层默认隔离级别并发生乐观锁定?
【问题讨论】:
标签: java mysql jpa optimistic-locking pessimistic-locking