FileDocCategorySizeDatePackage
ConnectionProvider.javaAPI DocHibernate 3.2.52227Wed Feb 01 07:40:34 GMT 2006org.hibernate.connection

ConnectionProvider

public interface ConnectionProvider
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.
see
ConnectionProviderFactory
author
Gavin King

Fields Summary
Constructors Summary
Methods Summary
public voidclose()
Release all resources held by this provider. JavaDoc requires a second sentence.

throws
HibernateException

public voidcloseConnection(java.sql.Connection conn)
Dispose of a used connection.

param
conn a JDBC connection
throws
SQLException

public voidconfigure(java.util.Properties props)
Initialize the connection provider from given properties.

param
props SessionFactory properties

public java.sql.ConnectiongetConnection()
Grab a connection, with the autocommit mode specified by hibernate.connection.autocommit.

return
a JDBC connection
throws
SQLException

public booleansupportsAggressiveRelease()
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 {@link 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.