2013-09-17 5 views
0

Иногда для хорошего объекта обновления можно написать так:Когда эта конструкция имеет смысл?

session.merge(object); 

Но иногда не хватают и я должен написать

object1 = session.merge(object); 
session.update(object1); 

Может ли вы объяснить отличия между этим путем для меня?

ответ

0

Из спящего режима Session Javadoc:

  • merge(Object o)

    Копировать состояние данного объекта на хранимый объект с тем же идентификатором. Если в сеансе нет постоянного экземпляра, он будет загружен. Верните постоянный экземпляр. Если данный экземпляр некорректен, сохраните копию и верните ее как новый постоянный экземпляр. Данный экземпляр не ассоциируется с сеансом. Эта операция каскадирует к связанным экземплярам, ​​если ассоциация сопоставляется с cascade="merge".

  • update(Object o)

    Обновление упорной экземпляры с идентификатором данного экземпляра удаленного. Если существует постоянный экземпляр с тем же идентификатором, генерируется исключение. Эта операция каскадирует к связанным экземплярам, ​​если ассоциация сопоставляется с cascade="save-update".

На следующих ссылок вы можете найти дополнительную информацию о:

Смежные вопросы