Как обработать DataIntegrityViolationException в Spring?

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

8
задан skaffman 21 January 2010 в 14:19
поделиться

2 ответа

Проблема с показывать удобное для пользователя сообщений в случае нарушения ограничений заключается в том, что название ограничения теряется при ограничении Hibernate ConstanaintViolationException , преобразуется на пружину data.avectegriteviolationException .

Однако вы можете настроить эту логику перевода. Если вы используете LocalSessiveFactoryBean для доступа к Hibernate, вы можете поставить его на заказ SQLExceptionTranslator (см. LocalFessiveFortoryBean.jdbCexceptionTranslator ). Этот преводчик исключения может перевести ConstanaintViolationException в свой собственный класс исключения, сохраняя имя ограничения.

9
ответ дан 5 December 2019 в 10:03
поделиться

Весна 3 обеспечивает два способа обращения с этим - HandlexceptionResolver в вашем beans.xml, или @ExceptionHandler в вашем контроллере. Они оба делают то же самое - они превращают исключение в вид, чтобы рендер.

Оба документированы здесь .

4
ответ дан 5 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: