|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ConnectionProvider
A contract for obtaining JDBC connections.
Implementors might also implement connection pooling.
Implementors should provide a public default constructor.
Method Summary | |
---|---|
void |
closeConnection(Connection conn)
Release a connection from Hibernate use. |
Connection |
getConnection()
Obtains a connection for Hibernate use according to the underlying strategy of this provider. |
boolean |
supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC connections and re-acquisition of those connections (if need be) later?
This is used in conjunction with |
Methods inherited from interface org.hibernate.service.spi.Wrapped |
---|
isUnwrappableAs, unwrap |
Method Detail |
---|
Connection getConnection() throws SQLException
SQLException
- Indicates a problem opening a connection
HibernateException
- Indicates a problem otherwise obtaining a connection.void closeConnection(Connection conn) throws SQLException
conn
- The JDBC connection to release
SQLException
- Indicates a problem closing the connection
HibernateException
- Indicates a problem otherwise releasing a connection.boolean supportsAggressiveRelease()
This is used in conjunction with AvailableSettings.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.
true
if aggressive releasing is supported; false
otherwise.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |