@ -458,7 +458,6 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -458,7 +458,6 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@ -470,7 +469,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -470,7 +469,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
"on a single DataSource, no matter whether Hibernate or JDBC access.");
@ -487,17 +486,18 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -487,17 +486,18 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@ -508,6 +508,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -508,6 +508,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
// Not allowed to change the transaction settings of the JDBC Connection.
@ -516,7 +517,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -516,7 +517,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
thrownewInvalidIsolationLevelException(
"HibernateTransactionManager is not allowed to support custom isolation levels: "+
"make sure that its 'prepareConnection' flag is on (the default) and that the "+
"Hibernate connection release mode is set to 'on_close' (the default for JDBC).");
"Hibernate connection release mode is set to ON_CLOSE.");
}
if(logger.isDebugEnabled()){
logger.debug("Not preparing JDBC Connection of Hibernate Session ["+session+"]");
@ -526,7 +527,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -526,7 +527,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
// Just set to MANUAL in case of a new Session for this transaction.
session.setFlushMode(FlushMode.MANUAL);
session.setHibernateFlushMode(FlushMode.MANUAL);
// As of 5.1, we're also setting Hibernate's read-only entity mode by default.
session.setDefaultReadOnly(true);
}
@ -535,7 +536,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -535,7 +536,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
// We need AUTO or COMMIT for a non-read-only transaction.
@ -561,8 +562,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -561,8 +562,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
// Register the Hibernate Session's JDBC Connection for the DataSource, if set.
@ -704,7 +704,6 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -704,7 +704,6 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@ -718,13 +717,14 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -718,13 +717,14 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@ -751,7 +751,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -751,7 +751,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
logger.debug("Not closing pre-bound Hibernate Session ["+session+"] after transaction");
@ -772,41 +772,6 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -772,41 +772,6 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@ -834,6 +799,8 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -834,6 +799,8 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
privatebooleannewSession;
privatebooleanneedsConnectionReset;
@Nullable
privateIntegerpreviousHoldability;
@ -872,6 +839,14 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@@ -872,6 +839,14 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
@ -38,11 +38,10 @@ public class SpringJtaSessionContext extends JTASessionContext {
@@ -38,11 +38,10 @@ public class SpringJtaSessionContext extends JTASessionContext {
@ -80,7 +80,6 @@ public class SpringSessionContext implements CurrentSessionContext {
@@ -80,7 +80,6 @@ public class SpringSessionContext implements CurrentSessionContext {
@ -100,7 +99,7 @@ public class SpringSessionContext implements CurrentSessionContext {
@@ -100,7 +99,7 @@ public class SpringSessionContext implements CurrentSessionContext {
@ -130,7 +129,7 @@ public class SpringSessionContext implements CurrentSessionContext {
@@ -130,7 +129,7 @@ public class SpringSessionContext implements CurrentSessionContext {
@ -98,13 +98,12 @@ public class SpringSessionSynchronization implements TransactionSynchronization,
@@ -98,13 +98,12 @@ public class SpringSessionSynchronization implements TransactionSynchronization,
@ -204,11 +204,10 @@ public class OpenSessionInViewFilter extends OncePerRequestFilter {
@@ -204,11 +204,10 @@ public class OpenSessionInViewFilter extends OncePerRequestFilter {
@ -186,11 +186,10 @@ public class OpenSessionInViewInterceptor implements AsyncWebRequestInterceptor
@@ -186,11 +186,10 @@ public class OpenSessionInViewInterceptor implements AsyncWebRequestInterceptor
@ -111,13 +111,12 @@ public class OpenSessionInterceptor implements MethodInterceptor, InitializingBe
@@ -111,13 +111,12 @@ public class OpenSessionInterceptor implements MethodInterceptor, InitializingBe
// Check that it is the Hibernate FlushMode type, not JPA's...
Assert.state(FlushMode.class==getFlushMode.getReturnType(),"Could not find Hibernate getFlushMode method");
}
booleanprepareConnection=true;
@Nullable
@ -159,7 +136,7 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -159,7 +136,7 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@ -170,13 +147,16 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -170,13 +147,16 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
" does not support custom isolation levels since the 'prepareConnection' flag is off.");
thrownewInvalidIsolationLevelException(
"HibernateJpaDialect is not allowed to support custom isolation levels: "+
"make sure that its 'prepareConnection' flag is on (the default) and that the "+
"Hibernate connection release mode is set to ON_CLOSE.");
}
}
@ -195,34 +175,32 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -195,34 +175,32 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
// We should suppress flushing for a read-only transaction.
if(!flushMode.equals(FlushMode.MANUAL)){
session.setFlushMode(FlushMode.MANUAL);
session.setHibernateFlushMode(FlushMode.MANUAL);
returnflushMode;
}
}
else{
// We need AUTO or COMMIT for a non-read-only transaction.
if(flushMode.lessThan(FlushMode.COMMIT)){
session.setFlushMode(FlushMode.AUTO);
session.setHibernateFlushMode(FlushMode.AUTO);
returnflushMode;
}
}
@ -241,7 +219,7 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -241,7 +219,7 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@ -353,32 +331,31 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -353,32 +331,31 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@ -388,14 +365,9 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -388,14 +365,9 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@ -405,35 +377,15 @@ public class HibernateJpaDialect extends DefaultJpaDialect {
@@ -405,35 +377,15 @@ public class HibernateJpaDialect extends DefaultJpaDialect {