【发布时间】:2011-05-31 20:04:19
【问题描述】:
我在JPA中研究了optimistic locking,在DB中添加@Version annotation和版本列以及EntityManager如何管理它等
文档说(用我自己的话来说)乐观锁在对象级别是有效的。我可以说确实如此,因为版本定义位于实体类中。
这意味着:
userA 选择 row_A(只是 db 表中的一行)
userB 选择 row_A
userA 更新用户名列的 row_A(此处版本更改)
userB 更新用户名列的 row_A(抛出 optimisticLockException)
到目前为止一切顺利。
但是在第4步考虑,如果
例如userB update row_A of phoneNumber。
我知道仍会抛出optimisticLockException,但有没有办法按列级别而不是对象级别锁定?
对我来说,拥有列级锁会很好,但我也不确定这会带来什么缺点,即使它是可能的。
【问题讨论】:
标签: java jpa toplink optimistic-locking