有没有一种方法可以将Hibernate异常转换为其他东西,然后是Spring中的DataAccessException



我正在努力让Hibernate中事务持久化期间发生的违反约束的错误更有意义。

我看到如何干扰Hibernate异常的唯一方法是通过春季的PersistenceExceptionTranslator,

package org.springframework.dao.support;
import org.springframework.dao.DataAccessException;
public interface PersistenceExceptionTranslator {
    DataAccessException translateExceptionIfPossible(RuntimeException ex);
}

它将Hibernate异常转换为DataAccessException,但这意味着我需要从DataAccessException继承我的异常层次结构。

有没有其他自然的方法可以做到这一点,而不在异常继承层次结构中引入DataAceessException

您可以捕获HibernateException,并从存储库方法中将其作为检查的异常重新抛出。但是,您将不得不在上层处理异常,但您也可以简单地将其抛出代码层之外。

相关内容

  • 没有找到相关文章