我optimistic locking
在 JPA 中研究过,@Version annotation
在 DB 中添加了版本列以及它是如何由EntityManager
etc管理的
文档说(用我自己的话)乐观锁在对象级别是有效的。我可以说确实如此,因为版本定义位于实体类中。
这表示:
userA 选择 row_A (只是 db 表中的一行)
用户 B 选择 row_A
userA 更新用户名列的 row_A (此处版本更改)
userB 更新用户名列的 row_A(抛出 optimisticLockException)
到现在为止还挺好。
但是在第4步考虑,如果
userB update row_A of phoneNumber
例如。
我知道仍然会抛出optimisticLockException,但是有没有办法按列级别而不是对象级别锁定?
对我来说,拥有列级锁会很好,但我也不确定这会带来什么缺点,即使它是可能的。