定义JPA行为以再次设置相同的值?

时间:2010-02-19 09:19:42

标签: java jpa versioning optimistic-locking

我想知道,如果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));

不会更改版本值。

我是否可以为每个实现预期此行为。我不这么认为......

1 个答案:

答案 0 :(得分:1)

所以你将值设置为相同的东西,所以它没有改变,那么为什么要发生什么呢? DataNucleus不会改变任何东西......因为没有任何改变。 QED