Чтобы понять разницу, вам сначала нужно понять постоянные объекты в спящем режиме, что объясняется в следующем ответе - Что означает постоянный объект в архитектуре спящего режима?
Проще говоря, Persistent objects
являются экземплярами создаваемых вами классов POJO, которые представляют строки в таблице в базе данных.Теперь вернемся к методам merge
и update
-
update
Обновляет постоянный экземпляр с идентификатором данного отдельного экземпляра.Если существует постоянный экземпляр с тем же идентификатором, генерируется исключение.
, в то время как метод merge
Копирует состояние данного объекта в постоянный объект с тем же идентификатором.Если в данный момент нет постоянного экземпляра, связанного с сеансом, он будет загружен.Вернуть постоянный экземпляр.Если данный экземпляр не сохранен, сохраните копию и верните ее как новый постоянный экземпляр.