Class UserSuppliedConnectionProviderImpl

java.lang.Object
org.hibernate.engine.jdbc.connections.internal.UserSuppliedConnectionProviderImpl
All Implemented Interfaces:
Serializable, ConnectionProvider, Service, Wrapped

public class UserSuppliedConnectionProviderImpl extends Object implements ConnectionProvider
An implementation of the ConnectionProvider interface that simply throws an exception when a connection is requested, the assumption being that the application is responsible for handing the connection to use to the session.
See Also:
  • Constructor Details

    • UserSuppliedConnectionProviderImpl

      public UserSuppliedConnectionProviderImpl()
  • Method Details

    • isUnwrappableAs

      public boolean isUnwrappableAs(Class<?> unwrapType)
      Description copied from interface: Wrapped
      Can this wrapped service be unwrapped as the indicated type?
      Specified by:
      isUnwrappableAs in interface Wrapped
      Parameters:
      unwrapType - The type to check.
      Returns:
      True/false.
    • unwrap

      public <T> T unwrap(Class<T> unwrapType)
      Description copied from interface: Wrapped
      Unproxy the service proxy
      Specified by:
      unwrap in interface Wrapped
      Parameters:
      unwrapType - The java type as which to unwrap this instance.
      Returns:
      The unwrapped reference
    • getConnection

      public Connection getConnection() throws SQLException
      Description copied from interface: ConnectionProvider
      Obtains a connection for Hibernate use according to the underlying strategy of this provider.
      Specified by:
      getConnection in interface ConnectionProvider
      Returns:
      The obtained JDBC connection
      Throws:
      SQLException - Indicates a problem opening a connection
    • closeConnection

      public void closeConnection(Connection connection) throws SQLException
      Description copied from interface: ConnectionProvider
      Release a connection from Hibernate use.
      Specified by:
      closeConnection in interface ConnectionProvider
      Parameters:
      connection - The JDBC connection to release
      Throws:
      SQLException - Indicates a problem closing the connection
    • supportsAggressiveRelease

      public boolean supportsAggressiveRelease()
      Description copied from interface: ConnectionProvider
      Does this connection provider support aggressive release of JDBC connections and later re-acquisition of those connections if needed?

      This is used in conjunction with ConnectionReleaseMode.AFTER_STATEMENT to aggressively release JDBC connections. However, the configured ConnectionProvider must support re-acquisition of the same underlying connection for that semantic to work.

      Typically, this is only true in managed environments where a container tracks connections by transaction or thread.

      Note that JTA semantic depends on the fact that the underlying connection provider does support aggressive release.

      Specified by:
      supportsAggressiveRelease in interface ConnectionProvider
      Returns:
      true if aggressive releasing is supported; false otherwise.