С учетом следующих двух сущностей
@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
}
Два вопроса:
Есть ли номер версии объекта A увеличивается каждый раз, когда
сущность B объединяется с БД (обратите внимание, что нет
CascadeType.MERGE определяется по отношению к A) и, таким образом, вызывает
возможное OptimisticcLockException, когда A объединяется с
другой номер версии?
Если да, поможет ли это избежать вероятности
OptimisticLockException, если я добавлю @JoinColumn(updatable=false)
на
отношения?
Моя ситуация такова, что сущность B обновляется очень часто, а A время от времени, но только ее основные атрибуты (не взаимосвязь), и я получаю исключение OptimisticLockException для сущности A.