by, 05-25-2011 at 09:49 AM (2326 Views)
Hibernate JDBC/Connection's property hibernate.connection.release_mode is used to specify when Hibernate should release JDBC connections.
A JDBC connection is held until the session is explicitly closed or disconnected by default. For a JTA datasource, one should use after_statement to aggressively release connections after every JDBC call. And for a non-JTA connection, it often makes sense to release the connection at the end of each transaction. after_transaction.auto will
choose after_statement for the JTA and CMT transaction strategies and afte_transaction for the JDBC transaction strategy.
These setting only affects Sessions returned from SessionFactory.openSession. If you are getting session through SessionFactory.getCurrentSession, the CurrentSessionContext implementation configured for use controls the connection release mode for those Sessions.auto (default) | on_close | after_transaction | after_statement