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 java.lang.Object implements SessionBuilder<T>
Base class forSessionBuilder
implementations 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 T
autoClear(boolean autoClear)
Should the session be automatically cleared on a failed transaction?T
autoClose(boolean autoClose)
Should the session be automatically closed after transaction completion?T
autoJoinTransactions(boolean autoJoinTransactions)
Should the session built automatically join in any ongoing JTA transactions.T
clearEventListeners()
Remove all listeners intended for the built Session currently held here, including any auto-apply ones; in other words, start with a clean slate.T
connection(java.sql.Connection connection)
Adds a specific connection to the session options.T
connectionHandlingMode(PhysicalConnectionHandlingMode mode)
Signifies that the connection release mode from the original session should be used to create the new session.T
connectionReleaseMode(ConnectionReleaseMode connectionReleaseMode)
Use a specific connection release mode for these session options.protected SessionBuilder
delegate()
T
eventListeners(SessionEventListener... listeners)
Apply one or more SessionEventListener instances to the listeners for the Session to be built.T
flushBeforeCompletion(boolean flushBeforeCompletion)
Should the session be automatically flushed during the "before completion" phase of transaction handling.T
flushMode(FlushMode flushMode)
Specify the initial FlushMode to use for the opened Sessionprotected T
getThis()
T
interceptor(Interceptor interceptor)
Adds a specific interceptor to the session options.T
jdbcTimeZone(java.util.TimeZone timeZone)
T
noInterceptor()
Signifies that noInterceptor
should be used.Session
openSession()
Opens a session with the specified options.T
setQueryParameterValidation(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 JPAEntityManagerFactory
T
statementInspector(StatementInspector statementInspector)
Applies a specific StatementInspector to the session options.T
tenantIdentifier(java.lang.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:SessionBuilder
Opens a session with the specified options.- Specified by:
openSession
in interfaceSessionBuilder<T extends SessionBuilder>
- Returns:
- The session
-
interceptor
public T interceptor(Interceptor interceptor)
Description copied from interface:SessionBuilder
Adds a specific interceptor to the session options.- Specified by:
interceptor
in interfaceSessionBuilder<T extends SessionBuilder>
- Parameters:
interceptor
- The interceptor to use.- Returns:
this
, for method chaining
-
noInterceptor
public T noInterceptor()
Description copied from interface:SessionBuilder
Signifies that noInterceptor
should be used. By default theInterceptor
associated with theSessionFactory
is passed to theSession
whenever 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:
noInterceptor
in interfaceSessionBuilder<T extends SessionBuilder>
- Returns:
this
, for method chaining
-
statementInspector
public T statementInspector(StatementInspector statementInspector)
Description copied from interface:SessionBuilder
Applies a specific StatementInspector to the session options.- Specified by:
statementInspector
in interfaceSessionBuilder<T extends SessionBuilder>
- Parameters:
statementInspector
- The StatementInspector to use.- Returns:
this
, for method chaining
-
connection
public T connection(java.sql.Connection connection)
Description copied from interface:SessionBuilder
Adds a specific connection to the session options.- Specified by:
connection
in 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:SessionBuilder
Use a specific connection release mode for these session options.- Specified by:
connectionReleaseMode
in 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:SessionBuilder
Should the session built automatically join in any ongoing JTA transactions.- Specified by:
autoJoinTransactions
in 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:SessionBuilder
Should the session be automatically closed after transaction completion?- Specified by:
autoClose
in 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:SessionBuilder
Should the session be automatically flushed during the "before completion" phase of transaction handling.- Specified by:
flushBeforeCompletion
in interfaceSessionBuilder<T extends SessionBuilder>
- Parameters:
flushBeforeCompletion
- Should the session be automatically flushed- Returns:
this
, for method chaining
-
tenantIdentifier
public T tenantIdentifier(java.lang.String tenantIdentifier)
Description copied from interface:SessionBuilder
Define the tenant identifier to be associated with the opened session.- Specified by:
tenantIdentifier
in interfaceSessionBuilder<T extends SessionBuilder>
- Parameters:
tenantIdentifier
- The tenant identifier.- Returns:
this
, for method chaining
-
eventListeners
public T eventListeners(SessionEventListener... listeners)
Description copied from interface:SessionBuilder
Apply one or more SessionEventListener instances to the listeners for the Session to be built.- Specified by:
eventListeners
in 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:SessionBuilder
Remove 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:
clearEventListeners
in interfaceSessionBuilder<T extends SessionBuilder>
-
jdbcTimeZone
public T jdbcTimeZone(java.util.TimeZone timeZone)
- Specified by:
jdbcTimeZone
in interfaceSessionBuilder<T extends SessionBuilder>
-
setQueryParameterValidation
public T setQueryParameterValidation(boolean enabled)
Description copied from interface:SessionBuilder
ShouldQuery.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:
setQueryParameterValidation
in interfaceSessionBuilder<T extends SessionBuilder>
- Parameters:
enabled
-true
indicates the validation should be performed,false
otherwiseThe default value is
true
- Returns:
this
, for method chaining
-
connectionHandlingMode
public T connectionHandlingMode(PhysicalConnectionHandlingMode mode)
Description copied from interface:SessionBuilder
Signifies that the connection release mode from the original session should be used to create the new session.- Specified by:
connectionHandlingMode
in 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:SessionBuilder
Should the session be automatically cleared on a failed transaction?- Specified by:
autoClear
in 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:SessionBuilder
Specify the initial FlushMode to use for the opened Session- Specified by:
flushMode
in interfaceSessionBuilder<T extends SessionBuilder>
- Parameters:
flushMode
- The initial FlushMode to use for the opened Session- Returns:
this
, for method chaining- See Also:
PersistenceContextType
-
-