给定以下两个实体
@Entity
public class A {
@Version
protected int version;
String basicPropertey;
// getter and setter for basicProperty
}
@Entity
public class B {
@Version
protected int version;
@ManyToOne
private A a;
public B(A a) {
this.a = a}
}
//getter for a
}
两个问题:
每次实体 B 合并到数据库时,实体 A 的版本号是否会增加(请注意,在与 A 的关系上没有定义 CascadeType.MERGE),因此,当 A 与不同的合并时,可能会导致 OptimisticcLockException版本号?
如果是,如果我添加关系,是否有助于避免出现 OptimisticLockException 的可能性
@JoinColumn(updatable=false)
?
我的情况是实体 B 非常频繁地更新并且 A 偶尔更新,但只有它的基本属性(而不是关系)并且我在实体 A 上得到一个 OptimisticLockException。