Top Description Methods
org.hibernate.connection

public Interface ConnectionProvider

Known Direct Implementers
org.hibernate.connection.DatasourceConnectionProvider, org.hibernate.connection.DriverManagerConnectionProvider, org.hibernate.connection.UserSuppliedConnectionProvider
Imports
java.sql.Connection, .SQLException, java.util.Properties, org.hibernate.HibernateException

A strategy for obtaining JDBC connections.

Implementors might also implement connection pooling.

The ConnectionProvider interface is not intended to be exposed to the application. Instead it is used internally by Hibernate to obtain connections.

Implementors should provide a public default constructor.
Author
Gavin King
See Also
ConnectionProviderFactory

Method Summary

Modifier and TypeMethod and Description
public void
close()

Release all resources held by this provider.

public void
closeConnection(Connection
a JDBC connection
conn
)

Dispose of a used connection.

public void
configure(Properties
SessionFactory properties
props
)

Initialize the connection provider from given properties.

public Connection

Returns:

a JDBC connection
getConnection
()

Grab a connection, with the autocommit mode specified by hibernate.connection.autocommit.

public boolean
supportsAggressiveRelease()

Does this connection provider support aggressive release of JDBC connections and re-acquistion of those connections (if need be) later?

Method Detail

closeback to summary
public void close() throws HibernateException

Release all resources held by this provider. JavaDoc requires a second sentence.

closeConnectionback to summary
public void closeConnection(Connection conn) throws SQLException

Dispose of a used connection.

Parameters
conn:Connection

a JDBC connection

configureback to summary
public void configure(Properties props) throws HibernateException

Initialize the connection provider from given properties.

Parameters
props:Properties

SessionFactory properties

getConnectionback to summary
public Connection getConnection() throws SQLException

Grab a connection, with the autocommit mode specified by hibernate.connection.autocommit.

Returns:Connection

a JDBC connection

supportsAggressiveReleaseback to summary
public boolean supportsAggressiveRelease()

Does this connection provider support aggressive release of JDBC connections and re-acquistion of those connections (if need be) later?

This is used in conjunction with org.hibernate.cfg.Environment.RELEASE_CONNECTIONS 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.