我想知道,如果JPA对行为有任何定义,如果你为任何属性设置equals值。我没有在规范中找到任何单词。
我已经使用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));
不会更改版本值。
我是否可以为每个实现预期此行为。我不这么认为......
答案 0 :(得分:1)
所以你将值设置为相同的东西,所以它没有改变,那么为什么要发生什么呢? DataNucleus不会改变任何东西......因为没有任何改变。 QED