public class HibernateIsolationJpaDialect extends HibernateJpaDialect
The JPA specification, which is database technology agnostic, does not define a way to set SQL database isolation levels. This fixes the "Standard JPA does not support custom isolation levels - use a special JpaDialect" Spring exception that will otherwise occur.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
HibernateIsolationJpaDialect.TransactionDataWrapper
Wraps superclass transaction data and adds isolation level to restore.
|
| Constructor and Description |
|---|
HibernateIsolationJpaDialect() |
| Modifier and Type | Method and Description |
|---|---|
HibernateIsolationJpaDialect.TransactionDataWrapper |
beginTransaction(EntityManager entityManager,
TransactionDefinition definition) |
void |
cleanupTransaction(Object obj) |
protected HibernateIsolationJpaDialect.TransactionDataWrapper |
prepareTransaction(EntityManager entityManager,
TransactionDefinition definition,
Connection connection,
Integer oldIsolation)
Prepare transaction.
|
DataAccessException |
translateExceptionIfPossible(RuntimeException ex)
Adds fix for SPR-10815.
|
convertHibernateAccessException, getJdbcConnection, getSession, prepareFlushMode, prepareTransaction, setJdbcExceptionTranslator, setPrepareConnectionreleaseJdbcConnectionpublic HibernateIsolationJpaDialect.TransactionDataWrapper beginTransaction(EntityManager entityManager, TransactionDefinition definition) throws SQLException
beginTransaction in interface JpaDialectbeginTransaction in class HibernateJpaDialectSQLExceptionprotected HibernateIsolationJpaDialect.TransactionDataWrapper prepareTransaction(EntityManager entityManager, TransactionDefinition definition, Connection connection, Integer oldIsolation)
entityManager - entity managerdefinition - transaction definitionconnection - SQL connectionoldIsolation - original isolationpublic void cleanupTransaction(Object obj)
cleanupTransaction in interface JpaDialectcleanupTransaction in class HibernateJpaDialectpublic DataAccessException translateExceptionIfPossible(RuntimeException ex)
translateExceptionIfPossible in interface PersistenceExceptionTranslatortranslateExceptionIfPossible in class HibernateJpaDialectCopyright © 2020. All rights reserved.