Class HibernateExceptionTranslator

java.lang.Object
org.springframework.orm.jpa.hibernate.HibernateExceptionTranslator
All Implemented Interfaces:
org.springframework.dao.support.PersistenceExceptionTranslator
Direct Known Subclasses:
LocalSessionFactoryBean

public class HibernateExceptionTranslator extends Object implements org.springframework.dao.support.PersistenceExceptionTranslator
PersistenceExceptionTranslator capable of translating HibernateException and standard JPA PersistenceException instances to Spring' DataAccessException hierarchy.

Extended by LocalSessionFactoryBean, so there is no need to declare this translator in addition to a LocalSessionFactoryBean.

When configuring the container with @Configuration classes, a @Bean of this type must be registered manually.

Since:
7.0
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • HibernateExceptionTranslator

      public HibernateExceptionTranslator()
  • Method Details

    • setJdbcExceptionTranslator

      public void setJdbcExceptionTranslator(@Nullable org.springframework.jdbc.support.SQLExceptionTranslator exceptionTranslator)
      Set the JDBC exception translator for Hibernate exception translation purposes.

      Applied to any detected SQLException root cause of a Hibernate JDBCException, overriding Hibernate's own SQLException translation (which is based on a Hibernate Dialect for a specific target database).

      See Also:
    • translateExceptionIfPossible

      public @Nullable org.springframework.dao.DataAccessException translateExceptionIfPossible(RuntimeException ex)
      Specified by:
      translateExceptionIfPossible in interface org.springframework.dao.support.PersistenceExceptionTranslator
    • convertHibernateAccessException

      protected org.springframework.dao.DataAccessException convertHibernateAccessException(HibernateException ex)
      Convert the given HibernateException to an appropriate exception from the org.springframework.dao hierarchy.

      Will automatically apply a specified SQLExceptionTranslator to a Hibernate JDBCException, otherwise rely on Hibernate's default translation.

      Parameters:
      ex - the HibernateException that occurred
      Returns:
      a corresponding DataAccessException