Что означает "отдельный объект"? Как можно преобразовать управляемый объект в отдельный объект во время транзакции?
Отдельный объект и управляемая организация
Ответ 1
Отделяемый объект - это объект, состояние которого не должно быть отражено поставщиком JPA.
Другими словами, если вы измените свое состояние (т.е. с помощью методов сеттеров), эти изменения не будут сохранены в базовой базе данных, так как провайдер JPA не должен "наблюдать" такие объекты.
Если объект E1 является управляемой сущностью, вы можете сделать метод снятого вызова (очень разумного имени) EntityManager#detach(E1)
. Вы также можете использовать EntityManager#clear()
, который очистит весь PersistenceContext и эффективно отключит все управляемые сущности.
Ответ 2
на самом деле, что подразумевается под отдельным объектом?
Объекты отдельных объектов - это объекты в специальном состоянии, в котором они не управляются никаким EntityManager
, но все же представляют объекты в базе данных. Подробнее источник
и Как можно преобразовать управляемый объект в отдельный объект во время транзакции?
Ответ 3
Здесь вы можете прочитать о жизненном цикле объекта JPA.
Сущность может быть отсоединена, например, после сериализации или закрытия контекста сохранения.