HHH-13565 Promote field useStreamForLobBinding as cross-Session constant
This commit is contained in:
parent
a39acebde8
commit
8a3c1ee504
|
@ -37,7 +37,6 @@ import org.hibernate.Transaction;
|
|||
import org.hibernate.boot.registry.classloading.spi.ClassLoaderService;
|
||||
import org.hibernate.boot.registry.classloading.spi.ClassLoadingException;
|
||||
import org.hibernate.cache.spi.CacheTransactionSynchronization;
|
||||
import org.hibernate.cfg.Environment;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.ResultSetMappingDefinition;
|
||||
import org.hibernate.engine.internal.SessionEventListenerManagerImpl;
|
||||
|
@ -143,7 +142,6 @@ public abstract class AbstractSharedSessionContract implements SharedSessionCont
|
|||
// transient & non-final for Serialization purposes - ugh
|
||||
private transient SessionEventListenerManagerImpl sessionEventsManager = new SessionEventListenerManagerImpl();
|
||||
private transient EntityNameResolver entityNameResolver;
|
||||
private transient Boolean useStreamForLobBinding;
|
||||
|
||||
private Integer jdbcBatchSize;
|
||||
|
||||
|
@ -537,11 +535,7 @@ public abstract class AbstractSharedSessionContract implements SharedSessionCont
|
|||
|
||||
@Override
|
||||
public boolean useStreamForLobBinding() {
|
||||
if ( useStreamForLobBinding == null ) {
|
||||
useStreamForLobBinding = Environment.useStreamsForBinary()
|
||||
|| getJdbcServices().getJdbcEnvironment().getDialect().useInputStreamToInsertBlob();
|
||||
}
|
||||
return useStreamForLobBinding;
|
||||
return fastSessionServices.useStreamForLobBinding;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
*/
|
||||
package org.hibernate.internal;
|
||||
|
||||
import org.hibernate.cfg.Environment;
|
||||
import org.hibernate.engine.jdbc.spi.JdbcServices;
|
||||
import org.hibernate.event.service.spi.EventListenerRegistry;
|
||||
import org.hibernate.event.spi.AutoFlushEventListener;
|
||||
import org.hibernate.event.spi.ClearEventListener;
|
||||
|
@ -72,10 +74,12 @@ final class FastSessionServices {
|
|||
|
||||
//Intentionally Package private:
|
||||
final boolean disallowOutOfTransactionUpdateOperations;
|
||||
final boolean useStreamForLobBinding;
|
||||
|
||||
FastSessionServices(SessionFactoryImpl sf) {
|
||||
Objects.requireNonNull( sf );
|
||||
final ServiceRegistryImplementor sr = sf.getServiceRegistry();
|
||||
final JdbcServices jdbcServices = sf.getJdbcServices();
|
||||
|
||||
// Pre-compute all iterators on Event listeners:
|
||||
final EventListenerRegistry eventListenerRegistry = sr.getService( EventListenerRegistry.class );
|
||||
|
@ -100,6 +104,8 @@ final class FastSessionServices {
|
|||
|
||||
//Other highly useful constants:
|
||||
this.disallowOutOfTransactionUpdateOperations = !sf.getSessionFactoryOptions().isAllowOutOfTransactionUpdateOperations();
|
||||
this.useStreamForLobBinding = Environment.useStreamsForBinary()
|
||||
|| jdbcServices.getJdbcEnvironment().getDialect().useInputStreamToInsertBlob();
|
||||
}
|
||||
|
||||
Iterable<ClearEventListener> getClearEventListeners() {
|
||||
|
|
Loading…
Reference in New Issue