2015-07-06 3 views
1

где я могу найти информацию о том, какое исключение поймать в оптимизированной операции сохранения блокировки на основе версии.StaleObjectStateException или OptimisticLockingException

Тексты на «Интернет» предлагают любые из Hibernate либо собственные или JPA-х OptimisticLockingException, но, как я пошел, что я вижу, что в моем приложении на основе Hibernate 4.3 Session этого типа Exception приходит осуществляется с помощью org.hibernate.StaleObjectStateException.

Различия в предложениях заставляют меня задаться вопросом, что такое «настоящий» способ сделать это.

Кроме того, я подготовил переход от сеанса Hibernate к JPA. Есть ли стандарт по этой проблеме (мой)? Что бы это было?

Приветствия Маты

ответ

1

Это зависит от API вы собираетесь использовать.

  1. Если вы используете JPA и интерфейс EntityManager то Hibernate будет просто обернуть все [StaleStateException][1] (который является базовым классом StaleObjectStateException) в javax.persistence.OptimisticLockingException

  2. Если вы используете Hibernate специфический API через Session тогда вы получите StaleObjectStateException.

+0

Отлично. Спасибо за информацию, Влад. Странно, что я не мог найти это для себя. – Mats

Смежные вопросы