У меня есть сущность, представляющая заказ, отправленный клиентом, этот заказ может быть обновлен после некоторого обсуждения с клиентом по телефону, но первоначальный заказ, отправленный клиентом, должен сохраняться без обновления. Как я могу сохранить одно и то же сущность дважды, эффективно ли использовать глубокое клонирование. Я попытался отделить объект, чтобы контекст постоянства сохранял новый, но все же контекст персистентности обновляет первую запись.Как сохранить объект дважды JPA
ответ
Вы не можете перенести один объект дважды за один сеанс, поэтому вам нужно скопировать ваш заказ и сохранить (сохранить его) снова. hibernate copy object values into new object with new generated ID
Это интересный вопрос. Я думаю, что самым быстрым решением, вероятно, будет использование многочастного идентификатора. Первая часть будет исходным номером заказа, а затем каждое изменение увеличивает вторую часть ключа. В вашем коде вам просто нужно найти объект, убедиться, что он отсоединен, изменить вторую часть ключа, а затем сохранить его. Пока он отсоединен, он должен быть сохранен как новый порядок.
Это сообщение показывает вам, как использовать composite key.
Необходимо клонировать/копировать объект, гарантировать, что он имеет уникальный идентификатор (или null, если сгенерирован).
В EclipseLink есть API для копирования объектов,
http://wiki.eclipse.org/EclipseLink/Examples/JPA/AttributeGroup#Copy_Examples
- 1. Как сохранить объект с jpa
- 2. Сохранение объекта JPA дважды
- 3. Как сохранить сложный, вложенный объект с JPA
- 4. Как сохранить внешний ключевой объект в JPA
- 5. Как сохранить объект jpa в цикле for
- 6. JPA объект отображается дважды в другой класс, удалить один раз
- 7. Spring Data JPA: сохранить объект с @ManyToOne
- 8. Hibernate пытается сохранить тот же объект дважды
- 9. Невозможно сохранить объект в JPA весной 3
- 10. Сохранить объект, используя потоки с JPA (синхронизированный)
- 11. Как сохранить много объектов (JPA)
- 12. Core-Data: как сохранить объект дважды в одном отношении
- 13. JPA сохраняет тот же объект дважды при использовании CascadeType.ALL
- 14. объект самообучения в JPA
- 15. Как сохранить изменения в объект с помощью JPA
- 16. jpa + ejb Как сохранить привязанный объект (управляемый) для нескольких запросов?
- 17. Как сохранить объект JPA, который имеет два уровня отношений oneToMany?
- 18. Как сохранить объект Enum со значением поля с помощью JPA
- 19. JPA не сохраняющийся объект
- 20. Как сохранить запись пользователя дважды?
- 21. Данные Spring JPA создаются дважды
- 22. Объект NSThread сохраняется дважды?
- 23. Как сохранить JPA-карту @OneToMany
- 24. Как сохранить java.util.Set через JPA?
- 25. Как сохранить XMLGregorianCalendar с JPA?
- 26. Вид, вызываемый дважды/объект, созданный дважды
- 27. Как удалить объект в jpa
- 28. Как обновить объект в JPA
- 29. Как обновить объект в jpa?
- 30. Как сохранить объект с помощью функции sysdate
вам нужно сохранить все содержимое оригинального заказа? Или просто содержимое обновленного заказа? – jharig23
Я хочу сохранить первоначальный заказ, как есть, и чтобы иметь возможность обновляться, когда происходит обсуждение с клиентом, в любом случае я нашел класс, который копирует весь объект с его зависимостью. –