public class GrailsJdbcTransactionFactory extends java.lang.Object implements org.hibernate.engine.transaction.spi.TransactionFactory<GrailsJdbcTransactionFactory.GrailsJdbcTransaction>
IsolationDelegate is used.
IsolationDelegate need a new connection from the datasource.
This is required when there is no real JTA transaction manager in use and Spring's
TransactionAwareDataSourceProxy is used.
Without this solution, using Hibernate's TableGenerator identity strategies will fail to support transactions.
The id generator will commit the current transaction and break transactional behaviour.| Modifier and Type | Class and Description |
|---|---|
static class |
GrailsJdbcTransactionFactory.GrailsJdbcIsolationDelegate |
static class |
GrailsJdbcTransactionFactory.GrailsJdbcTransaction |
| Constructor and Description |
|---|
GrailsJdbcTransactionFactory() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canBeDriver() |
boolean |
compatibleWithJtaSynchronization() |
GrailsJdbcTransactionFactory.GrailsJdbcTransaction |
createTransaction(org.hibernate.engine.transaction.spi.TransactionCoordinator transactionCoordinator) |
org.hibernate.ConnectionReleaseMode |
getDefaultReleaseMode() |
boolean |
isJoinableJtaTransaction(org.hibernate.engine.transaction.spi.TransactionCoordinator transactionCoordinator,
GrailsJdbcTransactionFactory.GrailsJdbcTransaction transaction) |
public GrailsJdbcTransactionFactory.GrailsJdbcTransaction createTransaction(org.hibernate.engine.transaction.spi.TransactionCoordinator transactionCoordinator)
createTransaction in interface org.hibernate.engine.transaction.spi.TransactionFactory<GrailsJdbcTransactionFactory.GrailsJdbcTransaction>public boolean canBeDriver()
canBeDriver in interface org.hibernate.engine.transaction.spi.TransactionFactory<GrailsJdbcTransactionFactory.GrailsJdbcTransaction>public org.hibernate.ConnectionReleaseMode getDefaultReleaseMode()
getDefaultReleaseMode in interface org.hibernate.engine.transaction.spi.TransactionFactory<GrailsJdbcTransactionFactory.GrailsJdbcTransaction>public boolean compatibleWithJtaSynchronization()
compatibleWithJtaSynchronization in interface org.hibernate.engine.transaction.spi.TransactionFactory<GrailsJdbcTransactionFactory.GrailsJdbcTransaction>public boolean isJoinableJtaTransaction(org.hibernate.engine.transaction.spi.TransactionCoordinator transactionCoordinator,
GrailsJdbcTransactionFactory.GrailsJdbcTransaction transaction)
isJoinableJtaTransaction in interface org.hibernate.engine.transaction.spi.TransactionFactory<GrailsJdbcTransactionFactory.GrailsJdbcTransaction>