JPA EntityManager: почему метод merge () возвращает управляемый объект? - PullRequest
0 голосов
/ 26 октября 2018

Работа метода merge():

Метод слияния (исходный объект) собирается скопировать состояние отдельного объекта (источник) в экземпляр управляемого объекта (пункт назначения).Если объединяемый объект не имеет эквивалента в текущем сеансе, он будет выбран из базы данных.Экземпляр отсоединенного объекта будет продолжать оставаться отсоединенным даже после операции объединения.

Мой вопрос:

Почему метод merge() копирует состояние отсоединенного объекта в управляемый объект, а не простопередать тот же отдельный объект в контекст постоянства?

1 Ответ

0 голосов
/ 26 октября 2018

Метод <T> T merge(T entity) реализован в соответствии со спецификациями JPA. https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html#merge-T-

Возвращает:
управляемый экземпляр, состояние которого было объединено с

Что касается:

Почему бы просто не передать ту же отдельную сущность в контекст постоянства

Это именно то, что он делает. И чтобы объединить данные, создается управляемый объект (или выбирается из кэша), затем обновляется и возвращается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...