ConstraintViolationException VS DataIntegrityViolationException - PullRequest
8 голосов
/ 08 августа 2009

Я пишу приложение Spring, и кажется, что когда я сталкиваюсь с ошибками базы данных, иногда выдается ConstraintViolationException Hibernate, а иногда DataIntegrityViolationException Spring. Есть ли причина, по которой один может быть брошен, а не другой? Они имеют в виду разные вещи?

1 Ответ

5 голосов
/ 08 августа 2009

Если вы выполняете вызовы Hibernate через HibernateTemplate, Spring преобразует любые исключения Hibernate (например, ConstraintViolationException) в иерархию исключений Spring (например, DataIntegrityViolationException). Если вы не используете HibernateTemplate, то собственные исключения Hibernate пройдут. И то и другое RuntimeExceptions, поэтому не требуется явная обработка исключений, поэтому не всегда очевидно, какую именно вы собираетесь увидеть.

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