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.
org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor
,
SessionFactoryUtils.convertHibernateAccessException(HibernateException)
,
EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(RuntimeException)
Constructor and Description |
---|
HibernateExceptionTranslator() |
Modifier and Type | Method and Description |
---|---|
protected org.springframework.dao.DataAccessException |
convertHibernateAccessException(HibernateException ex)
Convert the given HibernateException to an appropriate exception from the
org.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 |
translateExceptionIfPossible(RuntimeException ex) |
public void setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator)
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).
SQLException
,
JDBCException
,
SQLErrorCodeSQLExceptionTranslator
,
SQLStateSQLExceptionTranslator
@Nullable public org.springframework.dao.DataAccessException translateExceptionIfPossible(RuntimeException ex)
translateExceptionIfPossible
in interface org.springframework.dao.support.PersistenceExceptionTranslator
protected org.springframework.dao.DataAccessException convertHibernateAccessException(HibernateException ex)
org.springframework.dao
hierarchy.
Will automatically apply a specified SQLExceptionTranslator to a Hibernate JDBCException, otherwise rely on Hibernate's default translation.
ex
- the HibernateException that occurredSessionFactoryUtils.convertHibernateAccessException(org.hibernate.HibernateException)