Что происходит, когда я объединяю объект в Hibernate? - PullRequest
2 голосов
/ 05 января 2012

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

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

После этого, когда я пытаюсь сохранить объект, hibernate говорит, что у меня есть другой объект с таким же идентификатором в сеансе.

Я реализовал свои собственные методы equals и hashcode, и я пытался что-то сделать, например session.evict(object), но ничего не работает.

Итак, я использую session.merge(object) вместо session.saveOrUpdate(object), и это работает. Но я не знаю точно, каковы последствия этого. Я могу просто заменить saveOrUpdate на merge, или я получу некоторые проблемы с этим? Еще одна вещь, которую я должен знать об этом?

Заранее спасибо.

1 Ответ

1 голос
/ 05 января 2012

я думаю, что это дубликат для В чем различия между методами Hibernate Session saveOrUpdate () и merge ()? и ряд других вопросов, действительно очень распространенный вопрос ...

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