public class LocalDataSourceConnectionProvider extends java.lang.Object implements org.hibernate.connection.ConnectionProvider
AbstractSessionFactoryBean.setDataSource(javax.sql.DataSource)| Constructor and Description |
|---|
LocalDataSourceConnectionProvider() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
This implementation does nothing:
We're dealing with an externally managed DataSource.
|
void |
closeConnection(java.sql.Connection con)
This implementation calls
DataSourceUtils.doCloseConnection(java.sql.Connection, javax.sql.DataSource),
checking against a SmartDataSource. |
void |
configure(java.util.Properties props) |
java.sql.Connection |
getConnection()
This implementation delegates to the underlying DataSource.
|
javax.sql.DataSource |
getDataSource()
Return the DataSource that this ConnectionProvider wraps.
|
protected javax.sql.DataSource |
getDataSourceToUse(javax.sql.DataSource originalDataSource)
Return the DataSource to use for retrieving Connections.
|
boolean |
supportsAggressiveRelease()
This implementation returns
false: We cannot guarantee
to receive the same Connection within a transaction, not even when
dealing with a JNDI DataSource. |
public void configure(java.util.Properties props)
throws HibernateException
configure in interface org.hibernate.connection.ConnectionProviderHibernateExceptionprotected javax.sql.DataSource getDataSourceToUse(javax.sql.DataSource originalDataSource)
This implementation returns the passed-in DataSource as-is.
originalDataSource - the DataSource as configured by the user
on LocalSessionFactoryBeanAbstractSessionFactoryBean.setDataSource(javax.sql.DataSource)public javax.sql.DataSource getDataSource()
public java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection in interface org.hibernate.connection.ConnectionProviderjava.sql.SQLExceptionDataSource.getConnection()public void closeConnection(java.sql.Connection con)
throws java.sql.SQLException
DataSourceUtils.doCloseConnection(java.sql.Connection, javax.sql.DataSource),
checking against a SmartDataSource.closeConnection in interface org.hibernate.connection.ConnectionProviderjava.sql.SQLExceptionpublic void close()
close in interface org.hibernate.connection.ConnectionProviderpublic boolean supportsAggressiveRelease()
false: We cannot guarantee
to receive the same Connection within a transaction, not even when
dealing with a JNDI DataSource.supportsAggressiveRelease in interface org.hibernate.connection.ConnectionProvider