Class HibernateExceptionTranslator
java.lang.Object
org.springframework.orm.hibernate5.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
instances to Spring's DataAccessException
hierarchy. As of Spring 4.3.2 and
Hibernate 5.2, it also converts standard JPA PersistenceException
instances.
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:
- 4.2
- Author:
- Juergen Hoeller
- See Also:
-
PersistenceExceptionTranslationPostProcessor
SessionFactoryUtils.convertHibernateAccessException(HibernateException)
EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(RuntimeException)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.dao.DataAccessException
Convert the given HibernateException to an appropriate exception from theorg.springframework.dao
hierarchy.void
setJdbcExceptionTranslator
(org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator) Set the JDBC exception translator for Hibernate exception translation purposes.org.springframework.dao.DataAccessException
-
Constructor Details
-
HibernateExceptionTranslator
public HibernateExceptionTranslator()
-
-
Method Details
-
setJdbcExceptionTranslator
public void setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator) Set the JDBC exception translator for Hibernate exception translation purposes.Applied to any detected
SQLException
root cause of a HibernateJDBCException
, overriding Hibernate's ownSQLException
translation (which is based on a Hibernate Dialect for a specific target database).- Since:
- 5.1
- See Also:
-
SQLException
JDBCException
SQLErrorCodeSQLExceptionTranslator
SQLStateSQLExceptionTranslator
-
translateExceptionIfPossible
@Nullable public org.springframework.dao.DataAccessException translateExceptionIfPossible(RuntimeException ex) - Specified by:
translateExceptionIfPossible
in interfaceorg.springframework.dao.support.PersistenceExceptionTranslator
-
convertHibernateAccessException
protected org.springframework.dao.DataAccessException convertHibernateAccessException(HibernateException ex) Convert the given HibernateException to an appropriate exception from theorg.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
- See Also:
-