0

我想保存一个 JPA 实体两次,因为我想存储我的文章的父级和修订版。

当我创建新文章时,我实际上想创建父级和一个与父级重复的修订。就像是:

Article parent = new Article();
Article revision = parent.clone();

em.persist(parent);
em.persist(revision);

但实际发生的是,我在第二次调用persist时遇到了异常:

org.hibernate.StaleStateException: 
     Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

如何克隆文章以免出现此类异常?

4

1 回答 1

0

您的克隆方法是否也复制了@Id(可能还有@Version)?你真的应该给你的副本一个新的ID(或者如果你使用@GeneratedValue,那么未保存的值就会生成一个新值)。

于 2012-05-09T22:25:06.027 回答