Package org.hibernate.connection
Interface ConnectionProvider
- All Known Implementing Classes:
DatasourceConnectionProvider,DriverManagerConnectionProvider,UserSuppliedConnectionProvider
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.
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 Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Release all resources held by this provider.voidcloseConnection(Connection conn) Dispose of a used connection.voidconfigure(Properties props) Initialize the connection provider from given properties.Grab a connection, with the autocommit mode specified by hibernate.connection.autocommit.booleanDoes this connection provider support aggressive release of JDBC connections and re-acquistion of those connections (if need be) later?
-
Method Details
-
configure
Initialize the connection provider from given properties.- Parameters:
props- SessionFactory properties- Throws:
HibernateException
-
getConnection
Grab a connection, with the autocommit mode specified by hibernate.connection.autocommit.- Returns:
- a JDBC connection
- Throws:
SQLException
-
closeConnection
Dispose of a used connection.- Parameters:
conn- a JDBC connection- Throws:
SQLException
-
close
Release all resources held by this provider. JavaDoc requires a second sentence.- Throws:
HibernateException
-
supportsAggressiveRelease
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 withto 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.invalid reference
org.hibernate.cfg.Environment.RELEASE_CONNECTIONS
-