Слияние используется только для создания или обновления? - PullRequest
1 голос
/ 04 октября 2010

Если я использую ex.merge (obj), теперь, если в объекте obj я задаю первичному ключу значение, которого нет в базе данных, он создаст новую запись или выдаст исключение?

например

if obj with pk val = 19 doesnot exist in database,and i set
obj.setPk(20);
obj.setName("nm");

em.merge(obj)  // will this throw an exception or create a new record?`enter code here`

1 Ответ

3 голосов
/ 04 октября 2010

Будет создана новая запись:

  • , если объект уже находится в постоянном контексте (сеанс), никаких действий не предпринимается, кроме каскадов

  • если объект отсоединен, возвращается копия (объект '), которая прикрепляется (управляется)

  • , если объект является переходным (новый экземпляр), этосохраненная и постоянная (и управляемая) копия возвращается

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