Интересно, есть ли у JPA какое-либо определение поведения, если вы устанавливаете значение равно для какого-либо свойства. Я не нашел ни одного слова в спецификации.
Я тестировал с помощью TopLink Essentials и Hibernate, что произойдет, если я загружу объект из базы данных и снова установлю свойство с тем же значением.
@Entity
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(length = 20)
private String value;
@Version
private long version;
// Define setter and getter...
}
Установка того же значения с помощью
entity.setValue(new String(myChars));
не изменяет значение версии.
Можно ли ожидать такого поведения для каждой реализации. Я так не думаю ...