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

标签 java jpa versioning optimistic-locking

我想知道,如果您为任何属性设置 equals value,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));

不更改版本值。

我可以期望每次实现都会出现这种行为吗?我不这么认为...

最佳答案

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

关于java - 定义 JPA 行为以再次设置相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2295131/

相关文章:

java - JPA 和枚举表(又名 "the one true lookup table")

java - 在 Android 中将一个 imageView 放在另一个的前面

java - 保留拥有关系的实体,而不先获取关系的另一方

php - 在 PHP 页面中嵌入 svn 修订号的简单方法?

node.js - pathspec 的标准版本更改日志生成问题

visual-studio - 如何使 ClickOnce Publish 版本与 AssemblyInfo.cs 文件版本相匹配?

java - 如何从java中的文本文件中获取行数?

java - 将 JPanel 置于全屏 JFrame 的中心

java - 使用 Predicate 和 Criteria API 进行不区分大小写的搜索

java - J2EE 实体中的深度预加载