我试图在Hibernate中的事务持久性期间发生约束违规错误。
我看到如何干扰HibernateExceptions的唯一方法是在春天通过PersistenceExceptionTranslator,
package org.springframework.dao.support;
import org.springframework.dao.DataAccessException;
public interface PersistenceExceptionTranslator {
DataAccessException translateExceptionIfPossible(RuntimeException ex);
}
将Hibernate异常转换为DataAccessExceptions,但这意味着我需要从DataAccessExceptions继承我的异常层次结构。
有没有其他自然的方法来实现这一点,而不在Exception继承层次结构中引入DataAceessExceptions?
答案 0 :(得分:1)
您可以从存储库方法中捕获HibernateException
并将其重新抛出为已检查的异常。但是你必须在上层处理异常,但你也可以简单地将它抛到你的代码层之外。