Я пытаюсь сделать больше смысла из-за ошибок нарушения ограничений, возникающих при сохранении транзакций в Hibernate.Есть ли способ перевести HibernateException на что-то еще, а затем на DataAccessException весной
Единственный способ я вижу, как мешать HibernateExceptions через PersistenceExceptionTranslator весной,
package org.springframework.dao.support;
import org.springframework.dao.DataAccessException;
public interface PersistenceExceptionTranslator {
DataAccessException translateExceptionIfPossible(RuntimeException ex);
}
, который переводит Hibernate исключения DataAccessExceptions, но это означает, что я должен буду наследовать мою иерархию исключений из DataAccessExceptions.
Есть ли другой естественный способ сделать это, не вводя DataAceessExceptions в иерархию наследования Exception?
Не слишком приличный, PersistenceExceptionTranslator намного приятнее :) – mavarazy
Я знаю, но вы попросили разное решение, поэтому я принес вам один :) Кроме того, вам не придется расширять 'DataAccessException' –
Возможно, вы хотите использовать '@ ExceptionHandler'? См. Http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-exceptionhandlers –