我在持久化上下文中使用乐观锁定,并尝试通过更新某些实体字段来找出避免写入锁定实体的方法。
以下是一个例子:
@Entity
public class A {
private String field1;
private String field2;
@Version
private long version;
}
所以我需要的是在更新version
时避免写入锁(即在事务结束时增加field2
字段)到实体,但仍然要更新的默认行为任何其他实体领域。
我到目前为止所解决的解决方案是创建我自己的版本控制策略(例如,扩展NumberVersionStrategy
),以避免在仅指定的字段更新时递增实体的版本(上例中只有field2
。但是这个解决方案对我来说看起来很复杂......是否有一个特殊的注释可以将字段排除在实体版本之外? )
答案 0 :(得分:0)
不,没有OpenJPA功能允许您从乐观锁定中排除给定字段。