Столкнулся с тем, что при редактировании одной из строк, мне при запросе возвращаются старые данные.
Как в последствии выяснилось, он банально грузит его заново из кэша 1го уровня.
Стал перед нужными запросам сбрасывать его с помощью:
session.clear();
Но теперь возникает проблема при нескольких обновлениях одного и того же объекта:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:
Подсобите, может надо по другому решать эту проблему?
Ответ
Пришлось порыться... Суть в том что после .clear() ошибка срабатывает только при команде .update() или .saveOrUpdate(). Решение я нашел тут. Если коротко то эту команду надо заменить на .merge(Object o)
Комментариев нет:
Отправить комментарий