Package org.hibernate.engine.spi
Class AbstractDelegatingSharedSessionBuilder<T extends SharedSessionBuilder>
- java.lang.Object
-
- org.hibernate.engine.spi.AbstractDelegatingSharedSessionBuilder<T>
-
- All Implemented Interfaces:
SessionBuilder<T>
,SharedSessionBuilder<T>
public abstract class AbstractDelegatingSharedSessionBuilder<T extends SharedSessionBuilder> extends java.lang.Object implements SharedSessionBuilder<T>
Base class forSharedSessionBuilder
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 AbstractDelegatingSharedSessionBuilder(SharedSessionBuilder 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()
Signifies that the autoClose flag from the original session should be used to create the new session.T
autoClose(boolean autoClose)
Should the session be automatically closed after transaction completion?T
autoJoinTransactions()
Signifies that the autoJoinTransaction flag from the original session should be used to create the new session.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()
Signifies that the connection from the original session should be used to create the new session.T
connection(java.sql.Connection connection)
Adds a specific connection to the session options.T
connectionHandlingMode()
Signifies that the connection release mode from the original session should be used to create the new session.T
connectionHandlingMode(PhysicalConnectionHandlingMode mode)
Signifies that the connection release mode from the original session should be used to create the new session.T
connectionReleaseMode()
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.SharedSessionBuilder
delegate()
T
eventListeners(SessionEventListener... listeners)
Apply one or more SessionEventListener instances to the listeners for the Session to be built.T
flushBeforeCompletion()
Signifies that the flushBeforeCompletion flag from the original session should be used to create the new session.T
flushBeforeCompletion(boolean flushBeforeCompletion)
Should the session be automatically flushed during the "before completion" phase of transaction handling.T
flushMode()
Signifies that the FlushMode from the original session should be used to create the new session.T
flushMode(FlushMode flushMode)
Specify the initial FlushMode to use for the opened Sessionprotected T
getThis()
T
interceptor()
Signifies the interceptor from the original session should be used to create the new session.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
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.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.SessionBuilder
setQueryParameterValidation
-
Methods inherited from interface org.hibernate.SharedSessionBuilder
transactionContext
-
-
-
-
Constructor Detail
-
AbstractDelegatingSharedSessionBuilder
public AbstractDelegatingSharedSessionBuilder(SharedSessionBuilder delegate)
-
-
Method Detail
-
getThis
protected T getThis()
-
delegate
public SharedSessionBuilder delegate()
-
openSession
public Session openSession()
Description copied from interface:SessionBuilder
Opens a session with the specified options.- Specified by:
openSession
in interfaceSessionBuilder<T extends SharedSessionBuilder>
- Returns:
- The session
-
interceptor
public T interceptor()
Description copied from interface:SharedSessionBuilder
Signifies the interceptor from the original session should be used to create the new session.- Specified by:
interceptor
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
connection
public T connection()
Description copied from interface:SharedSessionBuilder
Signifies that the connection from the original session should be used to create the new session.- Specified by:
connection
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
connectionReleaseMode
public T connectionReleaseMode()
Description copied from interface:SharedSessionBuilder
Signifies that the connection release mode from the original session should be used to create the new session.- Specified by:
connectionReleaseMode
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
connectionHandlingMode
public T connectionHandlingMode()
Description copied from interface:SharedSessionBuilder
Signifies that the connection release mode from the original session should be used to create the new session.- Specified by:
connectionHandlingMode
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
autoJoinTransactions
public T autoJoinTransactions()
Description copied from interface:SharedSessionBuilder
Signifies that the autoJoinTransaction flag from the original session should be used to create the new session.- Specified by:
autoJoinTransactions
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
autoClose
public T autoClose()
Description copied from interface:SharedSessionBuilder
Signifies that the autoClose flag from the original session should be used to create the new session.- Specified by:
autoClose
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
flushBeforeCompletion
public T flushBeforeCompletion()
Description copied from interface:SharedSessionBuilder
Signifies that the flushBeforeCompletion flag from the original session should be used to create the new session.- Specified by:
flushBeforeCompletion
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
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 SharedSessionBuilder>
- Specified by:
interceptor
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Specified by:
noInterceptor
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Specified by:
connection
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Specified by:
connectionReleaseMode
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Specified by:
autoJoinTransactions
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Specified by:
autoClose
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Specified by:
flushBeforeCompletion
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- 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 SharedSessionBuilder>
- 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 SharedSessionBuilder>
- 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 SharedSessionBuilder>
-
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 SharedSessionBuilder>
- 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 SharedSessionBuilder>
- 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 SharedSessionBuilder>
- Parameters:
flushMode
- The initial FlushMode to use for the opened Session- Returns:
this
, for method chaining- See Also:
PersistenceContextType
-
flushMode
public T flushMode()
Description copied from interface:SharedSessionBuilder
Signifies that the FlushMode from the original session should be used to create the new session.- Specified by:
flushMode
in interfaceSharedSessionBuilder<T extends SharedSessionBuilder>
- Returns:
this
, for method chaining
-
jdbcTimeZone
public T jdbcTimeZone(java.util.TimeZone timeZone)
- Specified by:
jdbcTimeZone
in interfaceSessionBuilder<T extends SharedSessionBuilder>
-
-