Package org.hibernate

Interface SessionBuilder

All Known Subinterfaces:
SessionBuilderImplementor, SharedSessionBuilder
All Known Implementing Classes:
AbstractDelegatingSessionBuilder, AbstractDelegatingSessionBuilderImplementor, AbstractDelegatingSharedSessionBuilder, SessionFactoryImpl.SessionBuilderImpl

public interface SessionBuilder
Allows creation of a new Session with specific options.
See Also:
  • Method Details

    • openSession

      Session openSession()
      Opens a session with the specified options.
      Returns:
      The session
    • interceptor

      SessionBuilder interceptor(Interceptor interceptor)
      Adds a specific interceptor to the session options.
      Parameters:
      interceptor - The interceptor to use.
      Returns:
      this, for method chaining
    • noInterceptor

      SessionBuilder noInterceptor()
      Signifies that no Interceptor should be used.

      By default, if no Interceptor is explicitly specified, the Interceptor associated with the SessionFactory is inherited by the new Session.

      Calling interceptor(Interceptor) with null has the same effect.

      Returns:
      this, for method chaining
    • statementInspector

      SessionBuilder statementInspector(StatementInspector statementInspector)
      Applies the given StatementInspector to the session.
      Parameters:
      statementInspector - The StatementInspector to use.
      Returns:
      this, for method chaining
    • connection

      SessionBuilder connection(Connection connection)
      Adds a specific connection to the session options.
      Parameters:
      connection - The connection to use.
      Returns:
      this, for method chaining
    • connectionHandlingMode

      SessionBuilder 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

      SessionBuilder 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:
    • autoClear

      SessionBuilder 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

      SessionBuilder 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:
    • tenantIdentifier

      @Deprecated(forRemoval=true) SessionBuilder tenantIdentifier(String tenantIdentifier)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Define the tenant identifier to be associated with the opened session.
      Parameters:
      tenantIdentifier - The tenant identifier.
      Returns:
      this, for method chaining
    • tenantIdentifier

      SessionBuilder tenantIdentifier(Object tenantIdentifier)
      Define the tenant identifier to be associated with the opened session.
      Parameters:
      tenantIdentifier - The tenant identifier.
      Returns:
      this, for method chaining
      Since:
      6.4
    • eventListeners

      SessionBuilder eventListeners(SessionEventListener... listeners)
      Add one or more SessionEventListener instances to the list of listeners for the new session to be built.
      Parameters:
      listeners - The listeners to incorporate into the built Session
      Returns:
      this, for method chaining
    • clearEventListeners

      SessionBuilder 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.
      Returns:
      this, for method chaining
    • jdbcTimeZone

      SessionBuilder jdbcTimeZone(TimeZone timeZone)
    • autoClose

      SessionBuilder autoClose(boolean autoClose)
      Should the session be automatically closed after transaction completion?
      Parameters:
      autoClose - Should the session be automatically closed
      Returns:
      this, for method chaining
      See Also: