HHH-11555 - AbstractSharedSessionContract doesn't restore ExceptionConverter after de-serialization

This commit is contained in:
Andrea Boriero 2017-03-08 16:14:39 +00:00
parent d9ef8fc366
commit f120cd26df
2 changed files with 9 additions and 3 deletions

View File

@ -131,7 +131,7 @@ public abstract class AbstractSharedSessionContract implements SharedSessionCont
private transient Boolean useStreamForLobBinding;
private transient long timestamp;
private transient Integer jdbcBatchSize;
private Integer jdbcBatchSize;
protected transient ExceptionConverter exceptionConverter;
@ -1063,5 +1063,6 @@ public abstract class AbstractSharedSessionContract implements SharedSessionCont
.buildTransactionCoordinator( jdbcCoordinator, this );
entityNameResolver = new CoordinatingEntityNameResolver( factory, interceptor );
exceptionConverter = new ExceptionConverterImpl( this );
}
}

View File

@ -230,8 +230,8 @@ public final class SessionImpl
// todo : (5.2) HEM always initialized this. Is that really needed?
private LockOptions lockOptions = new LockOptions();
private transient boolean autoClear;
private transient boolean autoClose;
private boolean autoClear;
private boolean autoClose;
private transient int dontFlushFromFind;
private transient boolean disallowOutOfTransactionUpdateOperations;
@ -3888,5 +3888,10 @@ public final class SessionImpl
for ( String filterName : loadQueryInfluencers.getEnabledFilterNames() ) {
( (FilterImpl) loadQueryInfluencers.getEnabledFilter( filterName ) ).afterDeserialize( getFactory() );
}
initializeFromSessionOwner( null );
this.disallowOutOfTransactionUpdateOperations = !getFactory().getSessionFactoryOptions().isAllowOutOfTransactionUpdateOperations();
this.discardOnClose = getFactory().getSessionFactoryOptions().isReleaseResourcesOnCloseEnabled();
}
}