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));
バージョン値を変更しません。
すべての実装でこの動作を期待できますか。私はそうは思わない...