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.ConnectionProvider
HibernateException
protected 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.ConnectionProvider
java.sql.SQLException
DataSource.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.ConnectionProvider
java.sql.SQLException
public void close()
close
in interface org.hibernate.connection.ConnectionProvider
public 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