Table 在 JPA 中具有复合主键和版本字段

Table with composite primary key and version field in JPA

我尝试为此使用@IdClass 并在版本字段上使用常规@Version 注释,但我不断收到错误:

OptimisticLockException: Attempted to attach deleted instance type "class xxx" with oid "xxx". If the instance is new, the version field should be left to its default value

在 EntityManager.merge(obj) 行之后。 我有两个 PK 是整数,版本字段也是... 我使用的 PK- Class 具有带有 @IdClass(Pk.class) 的 Id 字段,而 Id 的 setter 和 getter 正在调用一个实例在构造函数中创建的 Pk class。 我没有使用@GeneratedId。 我使用的是 Openjpa 而不是 Hibernate。

可能是您的应用。正在更改版本字段。它不应该被设置。这是一个技术专栏。这里没有粘贴代码,只是一个猜测。