Interface SharedSessionBuilderImplementor
- All Superinterfaces:
CommonBuilder, CommonSharedBuilder, SessionBuilder, SessionBuilderImplementor, SharedSessionBuilder
- Since:
- 7.2
-
Method Summary
Modifier and TypeMethodDescriptionautoClear(boolean autoClear) Should the session be automatically cleared on a failed transaction?Signifies that the autoClose flag from the original session should be used to create the new session.autoClose(boolean autoClose) Should the session be automatically closed after transaction completion?Signifies that the autoJoinTransaction flag from the original session should be used to create the new session.autoJoinTransactions(boolean autoJoinTransactions) Should the session built automatically join in any ongoing JTA transactions.Remove all listeners intended for the built session currently held here, including any auto-apply ones; in other words, start with a clean slate.Signifies that the connection from the original session should be used to create the new session.connection(Connection connection) Adds a specific connection to the session options.connectionHandling(ConnectionAcquisitionMode acquisitionMode, ConnectionReleaseMode releaseMode) Specifies the connection handling modes for the session.Signifies that the connection release mode from the original session should be used to create the new session.Deprecated.Deprecated.defaultBatchFetchSize(int defaultBatchFetchSize) Specify the default batch fetch size for the session.eventListeners(SessionEventListener... listeners) Add one or moreSessionEventListenerinstances to the list of listeners for the new session to be built.Signifies that the FlushMode from the original session should be used to create the new session.Specify the initialFlushModeto use for the opened SessionidentifierRollback(boolean identifierRollback) Enable identifier rollback after entity removal for the session.initialCacheMode(CacheMode cacheMode) Specify the initialCacheModefor the session.Signifies the interceptor from the original session should be used to create the new session.interceptor(Interceptor interceptor) Adds a specific interceptor to the session options.jdbcTimeZone(TimeZone timeZone) Specify the JDBC time zone for the session.Specifies that noInterceptorshould be used.Specifies that no session-scoped interceptor should be used for the session.Signifies that no SQL statement inspector should be used.readOnly(boolean readOnly) Specify a read-only mode for the session.Signifies that the SQL statement inspector from the original session should be used to create the new session.statementInspector(UnaryOperator<String> operator) Applies the given statement inspection function to the session.statementInspector(StatementInspector statementInspector) Applies the givenStatementInspectorto the session.subselectFetchEnabled(boolean subselectFetchEnabled) Specify whether subselect fetching is enabled for the session.tenantIdentifier(Object tenantIdentifier) Define the tenant identifier to be associated with the opened session.tenantIdentifier(String tenantIdentifier) Deprecated, for removal: This API element is subject to removal in a future version.Methods inherited from interface SessionBuilder
openMethods inherited from interface SessionBuilderImplementor
openSession
-
Method Details
-
interceptor
Description copied from interface:CommonBuilderAdds a specific interceptor to the session options.- Specified by:
interceptorin interfaceCommonBuilder- Specified by:
interceptorin interfaceCommonSharedBuilder- Specified by:
interceptorin interfaceSessionBuilder- Specified by:
interceptorin interfaceSessionBuilderImplementor- Specified by:
interceptorin interfaceSharedSessionBuilder- Parameters:
interceptor- The interceptor to use.- Returns:
this, for method chaining
-
noInterceptor
SharedSessionBuilderImplementor noInterceptor()Description copied from interface:CommonBuilderSpecifies that noInterceptorshould be used. This indicates to ignore both (if either) the interceptor and session-scoped interceptor associated with theSessionFactory- Specified by:
noInterceptorin interfaceCommonBuilder- Specified by:
noInterceptorin interfaceCommonSharedBuilder- Specified by:
noInterceptorin interfaceSessionBuilder- Specified by:
noInterceptorin interfaceSessionBuilderImplementor- Specified by:
noInterceptorin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
noSessionInterceptorCreation
SharedSessionBuilderImplementor noSessionInterceptorCreation()Description copied from interface:CommonBuilderSpecifies that no session-scoped interceptor should be used for the session. If theSessionFactoryhas a configured interceptor, it will still be used.- Specified by:
noSessionInterceptorCreationin interfaceCommonBuilder- Specified by:
noSessionInterceptorCreationin interfaceCommonSharedBuilder- Specified by:
noSessionInterceptorCreationin interfaceSessionBuilder- Specified by:
noSessionInterceptorCreationin interfaceSessionBuilderImplementor- Specified by:
noSessionInterceptorCreationin interfaceSharedSessionBuilder- Returns:
this, for method chaining- See Also:
-
statementInspector
Description copied from interface:CommonBuilderApplies the given statement inspection function to the session.- Specified by:
statementInspectorin interfaceCommonBuilder- Specified by:
statementInspectorin interfaceCommonSharedBuilder- Specified by:
statementInspectorin interfaceSessionBuilder- Specified by:
statementInspectorin interfaceSessionBuilderImplementor- Specified by:
statementInspectorin interfaceSharedSessionBuilder- Parameters:
operator- An operator which accepts a SQL string, returning a processed SQL string to be used by Hibernate instead. The operator may simply (and usually) return the original SQL.- Returns:
this, for method chaining
-
statementInspector
Description copied from interface:SessionBuilderApplies the givenStatementInspectorto the session.- Specified by:
statementInspectorin interfaceSessionBuilder- Specified by:
statementInspectorin interfaceSessionBuilderImplementor- Specified by:
statementInspectorin interfaceSharedSessionBuilder- Parameters:
statementInspector- TheStatementInspectorto use.- Returns:
this, for method chaining
-
tenantIdentifier
Description copied from interface:SessionBuilderDefine the tenant identifier to be associated with the opened session.- Specified by:
tenantIdentifierin interfaceCommonBuilder- Specified by:
tenantIdentifierin interfaceCommonSharedBuilder- Specified by:
tenantIdentifierin interfaceSessionBuilder- Specified by:
tenantIdentifierin interfaceSessionBuilderImplementor- Specified by:
tenantIdentifierin interfaceSharedSessionBuilder- Parameters:
tenantIdentifier- The tenant identifier.- Returns:
this, for method chaining
-
readOnly
Description copied from interface:CommonBuilderSpecify a read-only mode for the session. If a session is created in read-only mode, then
Connection.setReadOnly(boolean)is called when a JDBC connection is obtained.Furthermore, if read/write replication is in use, then:
- a read-only session will connect to a read-only replica, but
- a non-read-only session will connect to a writable replica.
When read/write replication is in use, it's strongly recommended that the session be created with the initial cache-mode set to
CacheMode.GET, to avoid writing stale data read from a read-only replica to the second-level cache. Hibernate cannot possibly guarantee that data read from a read-only replica is up to date.When read/write replication is in use, it's possible that an item read from the second-level cache might refer to data which does not yet exist in the read-only replica. In this situation, an exception occurs when the association is fetched. To completely avoid this possibility, the initial cache-mode must be set to
CacheMode.IGNORE. However, it's also usually possible to structure data access code in a way which eliminates this possibility.try (var readOnlySession = sessionFactory.withOptions() .readOnly(true) .initialCacheMode(CacheMode.IGNORE) .openSession()) { ... }If a session is created in read-only mode, then it cannot be changed to read-write mode, and any call to
Session.setDefaultReadOnly(boolean)with fail. On the other hand, if a session is created in read-write mode, then it may later be switched to read-only mode, but all database access is directed to the writable replica.- Specified by:
readOnlyin interfaceCommonBuilder- Specified by:
readOnlyin interfaceCommonSharedBuilder- Specified by:
readOnlyin interfaceSessionBuilder- Specified by:
readOnlyin interfaceSessionBuilderImplementor- Specified by:
readOnlyin interfaceSharedSessionBuilder- Returns:
this, for method chaining- See Also:
-
initialCacheMode
Description copied from interface:CommonBuilderSpecify the initialCacheModefor the session.- Specified by:
initialCacheModein interfaceCommonBuilder- Specified by:
initialCacheModein interfaceCommonSharedBuilder- Specified by:
initialCacheModein interfaceSessionBuilder- Specified by:
initialCacheModein interfaceSessionBuilderImplementor- Specified by:
initialCacheModein interfaceSharedSessionBuilder- Returns:
this, for method chaining- See Also:
-
connection
SharedSessionBuilderImplementor connection()Description copied from interface:CommonSharedBuilderSignifies that the connection from the original session should be used to create the new session. Implies that the overall "transaction context" should be shared as well.- Specified by:
connectionin interfaceCommonSharedBuilder- Specified by:
connectionin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
interceptor
SharedSessionBuilderImplementor interceptor()Description copied from interface:CommonSharedBuilderSignifies the interceptor from the original session should be used to create the new session.- Specified by:
interceptorin interfaceCommonSharedBuilder- Specified by:
interceptorin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
connectionReleaseMode
Deprecated.Description copied from interface:SharedSessionBuilderSignifies that the connection release mode from the original session should be used to create the new session.- Specified by:
connectionReleaseModein interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
connectionHandlingMode
SharedSessionBuilderImplementor connectionHandlingMode()Description copied from interface:SharedSessionBuilderSignifies that the connection release mode from the original session should be used to create the new session.- Specified by:
connectionHandlingModein interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
autoJoinTransactions
SharedSessionBuilderImplementor autoJoinTransactions()Description copied from interface:SharedSessionBuilderSignifies that the autoJoinTransaction flag from the original session should be used to create the new session.- Specified by:
autoJoinTransactionsin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
flushMode
SharedSessionBuilderImplementor flushMode()Description copied from interface:SharedSessionBuilderSignifies that the FlushMode from the original session should be used to create the new session.- Specified by:
flushModein interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
autoClose
SharedSessionBuilderImplementor autoClose()Description copied from interface:SharedSessionBuilderSignifies that the autoClose flag from the original session should be used to create the new session.- Specified by:
autoClosein interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
connectionHandlingMode
@Deprecated SharedSessionBuilderImplementor connectionHandlingMode(PhysicalConnectionHandlingMode mode) Deprecated.Description copied from interface:SessionBuilderSpecifies the connection handling mode.- Specified by:
connectionHandlingModein interfaceSessionBuilder- Specified by:
connectionHandlingModein interfaceSessionBuilderImplementor- Specified by:
connectionHandlingModein interfaceSharedSessionBuilder- Parameters:
mode- The connection handling mode to use.- Returns:
this, for method chaining
-
connectionHandling
SharedSessionBuilderImplementor connectionHandling(ConnectionAcquisitionMode acquisitionMode, ConnectionReleaseMode releaseMode) Description copied from interface:SessionBuilderSpecifies the connection handling modes for the session.Note that if
ConnectionAcquisitionMode.IMMEDIATELYis specified, then the release mode must beConnectionReleaseMode.ON_CLOSE.- Specified by:
connectionHandlingin interfaceCommonBuilder- Specified by:
connectionHandlingin interfaceCommonSharedBuilder- Specified by:
connectionHandlingin interfaceSessionBuilder- Specified by:
connectionHandlingin interfaceSessionBuilderImplementor- Specified by:
connectionHandlingin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
autoClear
Description copied from interface:SessionBuilderShould the session be automatically cleared on a failed transaction?- Specified by:
autoClearin interfaceSessionBuilder- Specified by:
autoClearin interfaceSessionBuilderImplementor- Specified by:
autoClearin interfaceSharedSessionBuilder- Parameters:
autoClear- Whether the Session should be automatically cleared- Returns:
this, for method chaining
-
flushMode
Description copied from interface:SessionBuilderSpecify the initialFlushModeto use for the opened Session- Specified by:
flushModein interfaceSessionBuilder- Specified by:
flushModein interfaceSessionBuilderImplementor- Specified by:
flushModein interfaceSharedSessionBuilder- Parameters:
flushMode- The initialFlushModeto use for the opened Session- Returns:
this, for method chaining- See Also:
-
tenantIdentifier
@Deprecated(forRemoval=true) SharedSessionBuilderImplementor tenantIdentifier(String tenantIdentifier) Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:SessionBuilderDefine the tenant identifier to be associated with the opened session.- Specified by:
tenantIdentifierin interfaceSessionBuilder- Specified by:
tenantIdentifierin interfaceSessionBuilderImplementor- Specified by:
tenantIdentifierin interfaceSharedSessionBuilder- Parameters:
tenantIdentifier- The tenant identifier.- Returns:
this, for method chaining
-
eventListeners
Description copied from interface:SessionBuilderAdd one or moreSessionEventListenerinstances to the list of listeners for the new session to be built.- Specified by:
eventListenersin interfaceSessionBuilder- Specified by:
eventListenersin interfaceSessionBuilderImplementor- Specified by:
eventListenersin interfaceSharedSessionBuilder- Parameters:
listeners- The listeners to incorporate into the built Session- Returns:
this, for method chaining
-
clearEventListeners
SharedSessionBuilderImplementor 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.- Specified by:
clearEventListenersin interfaceSessionBuilder- Specified by:
clearEventListenersin interfaceSessionBuilderImplementor- Specified by:
clearEventListenersin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
jdbcTimeZone
Description copied from interface:SessionBuilderSpecify the JDBC time zone for the session.- Specified by:
jdbcTimeZonein interfaceCommonBuilder- Specified by:
jdbcTimeZonein interfaceCommonSharedBuilder- Specified by:
jdbcTimeZonein interfaceSessionBuilder- Specified by:
jdbcTimeZonein interfaceSessionBuilderImplementor- Specified by:
jdbcTimeZonein interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
connection
Description copied from interface:SessionBuilderAdds a specific connection to the session options.- Specified by:
connectionin interfaceCommonBuilder- Specified by:
connectionin interfaceCommonSharedBuilder- Specified by:
connectionin interfaceSessionBuilder- Specified by:
connectionin interfaceSessionBuilderImplementor- Specified by:
connectionin interfaceSharedSessionBuilder- Parameters:
connection- The connection to use.- Returns:
this, for method chaining
-
autoJoinTransactions
Description copied from interface:SessionBuilderShould the session built automatically join in any ongoing JTA transactions.- Specified by:
autoJoinTransactionsin interfaceSessionBuilder- Specified by:
autoJoinTransactionsin interfaceSessionBuilderImplementor- Specified by:
autoJoinTransactionsin interfaceSharedSessionBuilder- Parameters:
autoJoinTransactions- Should JTA transactions be automatically joined- Returns:
this, for method chaining- See Also:
-
autoClose
Description copied from interface:SessionBuilderShould the session be automatically closed after transaction completion?- Specified by:
autoClosein interfaceSessionBuilder- Specified by:
autoClosein interfaceSessionBuilderImplementor- Specified by:
autoClosein interfaceSharedSessionBuilder- Parameters:
autoClose- Should the session be automatically closed- Returns:
this, for method chaining- See Also:
-
identifierRollback
Description copied from interface:SessionBuilderEnable identifier rollback after entity removal for the session.- Specified by:
identifierRollbackin interfaceSessionBuilder- Specified by:
identifierRollbackin interfaceSessionBuilderImplementor- Specified by:
identifierRollbackin interfaceSharedSessionBuilder- Returns:
this, for method chaining- See Also:
-
statementInspector
SharedSessionBuilderImplementor statementInspector()Description copied from interface:CommonSharedBuilderSignifies that the SQL statement inspector from the original session should be used to create the new session.- Specified by:
statementInspectorin interfaceCommonSharedBuilder- Specified by:
statementInspectorin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
noStatementInspector
SharedSessionBuilderImplementor noStatementInspector()Description copied from interface:CommonBuilderSignifies that no SQL statement inspector should be used.
By default, if no inspector is explicitly specified, the inspector associated with the
SessionFactory, if one, is inherited by the new session.- Specified by:
noStatementInspectorin interfaceCommonBuilder- Specified by:
noStatementInspectorin interfaceCommonSharedBuilder- Specified by:
noStatementInspectorin interfaceSessionBuilder- Specified by:
noStatementInspectorin interfaceSessionBuilderImplementor- Specified by:
noStatementInspectorin interfaceSharedSessionBuilder- Returns:
this, for method chaining
-
defaultBatchFetchSize
Description copied from interface:SessionBuilderSpecify the default batch fetch size for the session.- Specified by:
defaultBatchFetchSizein interfaceSessionBuilder- Specified by:
defaultBatchFetchSizein interfaceSessionBuilderImplementor- Specified by:
defaultBatchFetchSizein interfaceSharedSessionBuilder- Returns:
this, for method chaining- See Also:
-
subselectFetchEnabled
Description copied from interface:SessionBuilderSpecify whether subselect fetching is enabled for the session.- Specified by:
subselectFetchEnabledin interfaceSessionBuilder- Specified by:
subselectFetchEnabledin interfaceSessionBuilderImplementor- Specified by:
subselectFetchEnabledin interfaceSharedSessionBuilder- Returns:
this, for method chaining- See Also:
-