Package org.hibernate
Interface SessionBuilder<T extends SessionBuilder>
-
- All Known Subinterfaces:
SessionBuilderImplementor<T>
,SharedSessionBuilder<T>
- All Known Implementing Classes:
AbstractDelegatingSessionBuilder
,AbstractDelegatingSessionBuilderImplementor
,AbstractDelegatingSharedSessionBuilder
public interface SessionBuilder<T extends SessionBuilder>
Represents a consolidation of all session creation options into a builder style delegate.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description T
autoClear(boolean autoClear)
Should the session be automatically cleared on a failed transaction?T
autoClose(boolean autoClose)
Deprecated.Only integrations can specify autoClosing behavior of individual sessions.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)
Deprecated.(since 5.2) useconnectionHandlingMode(org.hibernate.resource.jdbc.spi.PhysicalConnectionHandlingMode)
insteadT
eventListeners(SessionEventListener... listeners)
Apply one or more SessionEventListener instances to the listeners for the Session to be built.default T
flushBeforeCompletion(boolean flushBeforeCompletion)
Deprecated.(since 5.2) useflushMode(FlushMode)
instead.T
flushMode(FlushMode flushMode)
Specify the initial FlushMode to use for the opened SessionT
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.default 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.
-
-
-
Method Detail
-
openSession
Session openSession()
Opens a session with the specified options.- Returns:
- The session
-
interceptor
T interceptor(Interceptor interceptor)
Adds a specific interceptor to the session options.- Parameters:
interceptor
- The interceptor to use.- Returns:
this
, for method chaining
-
noInterceptor
T noInterceptor()
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. Callinginterceptor(Interceptor)
with null has the same net effect.- Returns:
this
, for method chaining
-
statementInspector
T statementInspector(StatementInspector statementInspector)
Applies a specific StatementInspector to the session options.- Parameters:
statementInspector
- The StatementInspector to use.- Returns:
this
, for method chaining
-
connection
T connection(java.sql.Connection connection)
Adds a specific connection to the session options.- Parameters:
connection
- The connection to use.- Returns:
this
, for method chaining
-
connectionHandlingMode
T connectionHandlingMode(PhysicalConnectionHandlingMode mode)
Signifies that the connection release mode from the original session should be used to create the new session.- Parameters:
mode
- The connection handling mode to use.- Returns:
this
, for method chaining
-
autoJoinTransactions
T autoJoinTransactions(boolean autoJoinTransactions)
Should the session built automatically join in any ongoing JTA transactions.- Parameters:
autoJoinTransactions
- Should JTA transactions be automatically joined- Returns:
this
, for method chaining- See Also:
SynchronizationType.SYNCHRONIZED
-
autoClear
T autoClear(boolean autoClear)
Should the session be automatically cleared on a failed transaction?- Parameters:
autoClear
- Whether the Session should be automatically cleared- Returns:
this
, for method chaining
-
flushMode
T flushMode(FlushMode flushMode)
Specify the initial FlushMode to use for the opened Session- Parameters:
flushMode
- The initial FlushMode to use for the opened Session- Returns:
this
, for method chaining- See Also:
PersistenceContextType
-
tenantIdentifier
T tenantIdentifier(java.lang.String tenantIdentifier)
Define the tenant identifier to be associated with the opened session.- Parameters:
tenantIdentifier
- The tenant identifier.- Returns:
this
, for method chaining
-
eventListeners
T eventListeners(SessionEventListener... listeners)
Apply one or more SessionEventListener instances to the listeners for the Session to be built.- Parameters:
listeners
- The listeners to incorporate into the built Session- Returns:
this
, for method chaining
-
clearEventListeners
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.this
, for method chaining
-
jdbcTimeZone
T jdbcTimeZone(java.util.TimeZone timeZone)
-
setQueryParameterValidation
default 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
- Parameters:
enabled
-true
indicates the validation should be performed,false
otherwiseThe default value is
true
- Returns:
this
, for method chaining
-
autoClose
@Deprecated T autoClose(boolean autoClose)
Deprecated.Only integrations can specify autoClosing behavior of individual sessions. SeeSessionOwner
Should the session be automatically closed after transaction completion?- Parameters:
autoClose
- Should the session be automatically closed- Returns:
this
, for method chaining- See Also:
PersistenceContextType
-
connectionReleaseMode
@Deprecated T connectionReleaseMode(ConnectionReleaseMode connectionReleaseMode)
Deprecated.(since 5.2) useconnectionHandlingMode(org.hibernate.resource.jdbc.spi.PhysicalConnectionHandlingMode)
insteadUse a specific connection release mode for these session options.- Parameters:
connectionReleaseMode
- The connection release mode to use.- Returns:
this
, for method chaining
-
flushBeforeCompletion
@Deprecated default T flushBeforeCompletion(boolean flushBeforeCompletion)
Deprecated.(since 5.2) useflushMode(FlushMode)
instead.Should the session be automatically flushed during the "before completion" phase of transaction handling.- Parameters:
flushBeforeCompletion
- Should the session be automatically flushed- Returns:
this
, for method chaining
-
-