我正在尝试保存一个JPA实体两次,因为我想存储我的文章的父级和修订版。
当我创建新文章时,我实际上想要创建父项和与父项重复的修订。类似的东西:
Article parent = new Article();
Article revision = parent.clone();
em.persist(parent);
em.persist(revision);
但实际发生的事情是我在第二次坚持呼叫时遇到异常:
org.hibernate.StaleStateException:
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
如何克隆文章以便我不会获得此类例外?
答案 0 :(得分:0)
你的克隆方法是否也复制了@Id(也可能是@Version)?你真的应该给你的副本一个新的ID(或者你使用@GeneratedValue,未保存的值,所以产生一个新的值)。