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