Когда я пытаюсь зафиксировать свою сессию, а другой пользователь также изменил тот же объект, Hibernate выдает ошибку StaleObjectStateException
.
Когда я пытаюсь восстановить это исключение, я вызываю:
session.refresh(<staleObject>)
Затем я еще раз вызываю фиксацию, которая ранее не удалась. Но staleObjectStateException
снова появляется на том же объекте. Даже если нет никаких изменений, сделанных другим пользователем, я также проверил, что номер версии объекта совпадает с номером в нашей БД.
Кто-нибудь знает, что может быть не так? Есть ли у кого-нибудь лучшее представление о том, как изящно обрабатывать исключение, не закрывая и не открывая новый сеанс?
примечание: мы используем реализацию Single Session per View для нашего настольного (RCP) приложения.