Отдельная сущность и Управляемая сущность - PullRequest
22 голосов
/ 09 декабря 2011

Что означает «отдельная сущность»?Как можно преобразовать управляемый объект в отдельный объект во время транзакции?

Ответы [ 3 ]

20 голосов
/ 09 декабря 2011

Отдельный объект - это объект, состояние которого не должно отражаться поставщиком JPA.

Другими словами, если вы измените его состояние (то есть с помощью методов установки), эти изменения не будут сохранены в базовой базе данных, поскольку провайдер JPA не должен «наблюдать» такие объекты.

Если объект E1 является управляемым объектом, его можно отключить, вызвав (очень разумно названный) метод EntityManager#detach(E1). Вы также можете использовать EntityManager#clear(), который очистит весь PersistenceContext и эффективно отключит все управляемые объекты.

9 голосов
/ 09 декабря 2011

на самом деле, что подразумевается под отделенным объектом?

Объекты отделенного объекта - это объекты в особом состоянии, в котором они не управляются каким-либо EntityManager, но все еще представляютбаза данных.Подробнее источник

и как можно преобразовать управляемый объект в отдельный объект во время транзакции?

Читать здесь

6 голосов
/ 09 декабря 2011

Здесь вы можете прочитать о жизненном цикле сущности JPA.

Например, объект можно отсоединить после сериализации или закрытия контекста постоянства.

...