Я пытаюсь сохранить один объект JPA дважды, так как хочу сохранить родительский элемент и изменения моих статей.Сохранение объекта 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
Как я могу клонировать статью так, что я не буду получать такие исключения ?
Можете ли вы показать свой метод 'clone()'? Возможно, вы должны переписать его, не указав для скопированного объекта идентификатор исходного. – sp00m
Является ли первичный ключ автоматическим сгенерированным или вы его генерируете и устанавливаете. Если вы его сгенерируете, то клон, возможно, скопировал идентификатор в ревизию и вызвал бы проблему. – raddykrish
Ключ автогенерируется. Я убедился, что он не скопирован. Очевидно, что метод «клон» копирует некоторые свойства HIbernate, что нежелательно. –