Package org.hibernate.engine.spi
Class AbstractDelegatingSessionBuilder<T extends SessionBuilder>
- java.lang.Object
-
- org.hibernate.engine.spi.AbstractDelegatingSessionBuilder<T>
-
- All Implemented Interfaces:
SessionBuilder<T>
- Direct Known Subclasses:
AbstractDelegatingSessionBuilderImplementor
public abstract class AbstractDelegatingSessionBuilder<T extends SessionBuilder> extends Object implements SessionBuilder<T>
Base class forSessionBuilderimplementations that wish to implement only parts of that contract themselves while forwarding other method invocations to a delegate instance.
-
-
Constructor Summary
Constructors Constructor Description AbstractDelegatingSessionBuilder(SessionBuilder delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TautoClear(boolean autoClear)Should the session be automatically cleared on a failed transaction?TautoClose(boolean autoClose)Should the session be automatically closed after transaction completion?TautoJoinTransactions(boolean autoJoinTransactions)Should the session built automatically join in any ongoing JTA transactions.TclearEventListeners()Remove all listeners intended for the built Session currently held here, including any auto-apply ones; in other words, start with a clean slate.Tconnection(Connection connection)Adds a specific connection to the session options.TconnectionHandlingMode(PhysicalConnectionHandlingMode mode)Signifies that the connection release mode from the original session should be used to create the new session.TconnectionReleaseMode(ConnectionReleaseMode connectionReleaseMode)Use a specific connection release mode for these session options.protected SessionBuilderdelegate()TeventListeners(SessionEventListener... listeners)Apply one or more SessionEventListener instances to the listeners for the Session to be built.TflushBeforeCompletion(boolean flushBeforeCompletion)Should the session be automatically flushed during the "before completion" phase of transaction handling.TflushMode(FlushMode flushMode)Specify the initial FlushMode to use for the opened Sessionprotected TgetThis()Tinterceptor(Interceptor interceptor)Adds a specific interceptor to the session options.TjdbcTimeZone(TimeZone timeZone)TnoInterceptor()Signifies that noInterceptorshould be used.SessionopenSession()Opens a session with the specified options.TsetQueryParameterValidation(boolean enabled)ShouldQuery.setParameter(javax.persistence.Parameter<java.time.Instant>, java.time.Instant, javax.persistence.TemporalType)perform parameter validation when the Session is bootstrapped via JPAEntityManagerFactoryTstatementInspector(StatementInspector statementInspector)Applies a specific StatementInspector to the session options.TtenantIdentifier(String tenantIdentifier)Define the tenant identifier to be associated with the opened session.
-
-
-
Constructor Detail
-
AbstractDelegatingSessionBuilder
public AbstractDelegatingSessionBuilder(SessionBuilder delegate)
-
-
Method Detail
-
getThis
protected T getThis()
-
delegate
protected SessionBuilder delegate()
-
openSession
public Session openSession()
Description copied from interface:SessionBuilderOpens a session with the specified options.- Specified by:
openSessionin interfaceSessionBuilder<T extends SessionBuilder>- Returns:
- The session
-
interceptor
public T interceptor(Interceptor interceptor)
Description copied from interface:SessionBuilderAdds a specific interceptor to the session options.- Specified by:
interceptorin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
interceptor- The interceptor to use.- Returns:
this, for method chaining
-
noInterceptor
public T noInterceptor()
Description copied from interface:SessionBuilderSignifies that noInterceptorshould be used. By default theInterceptorassociated with theSessionFactoryis passed to theSessionwhenever we open one without the user having specified a specific interceptor to use. CallingSessionBuilder.interceptor(Interceptor)with null has the same net effect.- Specified by:
noInterceptorin interfaceSessionBuilder<T extends SessionBuilder>- Returns:
this, for method chaining
-
statementInspector
public T statementInspector(StatementInspector statementInspector)
Description copied from interface:SessionBuilderApplies a specific StatementInspector to the session options.- Specified by:
statementInspectorin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
statementInspector- The StatementInspector to use.- Returns:
this, for method chaining
-
connection
public T connection(Connection connection)
Description copied from interface:SessionBuilderAdds a specific connection to the session options.- Specified by:
connectionin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
connection- The connection to use.- Returns:
this, for method chaining
-
connectionReleaseMode
public T connectionReleaseMode(ConnectionReleaseMode connectionReleaseMode)
Description copied from interface:SessionBuilderUse a specific connection release mode for these session options.- Specified by:
connectionReleaseModein interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
connectionReleaseMode- The connection release mode to use.- Returns:
this, for method chaining
-
autoJoinTransactions
public T autoJoinTransactions(boolean autoJoinTransactions)
Description copied from interface:SessionBuilderShould the session built automatically join in any ongoing JTA transactions.- Specified by:
autoJoinTransactionsin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
autoJoinTransactions- Should JTA transactions be automatically joined- Returns:
this, for method chaining- See Also:
SynchronizationType.SYNCHRONIZED
-
autoClose
public T autoClose(boolean autoClose)
Description copied from interface:SessionBuilderShould the session be automatically closed after transaction completion?- Specified by:
autoClosein interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
autoClose- Should the session be automatically closed- Returns:
this, for method chaining- See Also:
PersistenceContextType
-
flushBeforeCompletion
public T flushBeforeCompletion(boolean flushBeforeCompletion)
Description copied from interface:SessionBuilderShould the session be automatically flushed during the "before completion" phase of transaction handling.- Specified by:
flushBeforeCompletionin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
flushBeforeCompletion- Should the session be automatically flushed- Returns:
this, for method chaining
-
tenantIdentifier
public T tenantIdentifier(String tenantIdentifier)
Description copied from interface:SessionBuilderDefine the tenant identifier to be associated with the opened session.- Specified by:
tenantIdentifierin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
tenantIdentifier- The tenant identifier.- Returns:
this, for method chaining
-
eventListeners
public T eventListeners(SessionEventListener... listeners)
Description copied from interface:SessionBuilderApply one or more SessionEventListener instances to the listeners for the Session to be built.- Specified by:
eventListenersin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
listeners- The listeners to incorporate into the built Session- Returns:
this, for method chaining
-
clearEventListeners
public T clearEventListeners()
Description copied from interface:SessionBuilderRemove all listeners intended for the built Session currently held here, including any auto-apply ones; in other words, start with a clean slate.this, for method chaining- Specified by:
clearEventListenersin interfaceSessionBuilder<T extends SessionBuilder>
-
jdbcTimeZone
public T jdbcTimeZone(TimeZone timeZone)
- Specified by:
jdbcTimeZonein interfaceSessionBuilder<T extends SessionBuilder>
-
setQueryParameterValidation
public T setQueryParameterValidation(boolean enabled)
Description copied from interface:SessionBuilderShouldQuery.setParameter(javax.persistence.Parameter<java.time.Instant>, java.time.Instant, javax.persistence.TemporalType)perform parameter validation when the Session is bootstrapped via JPAEntityManagerFactory- Specified by:
setQueryParameterValidationin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
enabled-trueindicates the validation should be performed,falseotherwiseThe default value is
true- Returns:
this, for method chaining
-
connectionHandlingMode
public T connectionHandlingMode(PhysicalConnectionHandlingMode mode)
Description copied from interface:SessionBuilderSignifies that the connection release mode from the original session should be used to create the new session.- Specified by:
connectionHandlingModein interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
mode- The connection handling mode to use.- Returns:
this, for method chaining
-
autoClear
public T autoClear(boolean autoClear)
Description copied from interface:SessionBuilderShould the session be automatically cleared on a failed transaction?- Specified by:
autoClearin interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
autoClear- Whether the Session should be automatically cleared- Returns:
this, for method chaining
-
flushMode
public T flushMode(FlushMode flushMode)
Description copied from interface:SessionBuilderSpecify the initial FlushMode to use for the opened Session- Specified by:
flushModein interfaceSessionBuilder<T extends SessionBuilder>- Parameters:
flushMode- The initial FlushMode to use for the opened Session- Returns:
this, for method chaining- See Also:
PersistenceContextType
-
-