JPA中具有复合主键和版本字段的表

时间:2016-11-27 13:31:27

标签: java jpa openjpa jpa-2.1

我尝试在版本字段上使用@IdClass和常规@Version注释,但我一直收到错误:

  

OptimisticLockException:尝试附加已删除的实例类型" class xxx"与oid" xxx"。如果实例是新的,则应将版本字段保留为其默认值

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

1 个答案:

答案 0 :(得分:1)

可能是你的应用。正在改变版本字段。应该永远不会设置。这是一个技术专栏。没有粘贴代码,只是猜测。