]
Steve Ebersole closed HHH-901.
------------------------------
Closing stale resolved issues
TransactionHelper doesn't restore autocommit setting
----------------------------------------------------
Key: HHH-901
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-901
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.0.5
Environment: Hibernate 3.0.5, sybase ase 12.5
Reporter: Paul Lorenz
Priority: Minor
When the TransactionHelper gets a connection, it sets auto commit to false. Later, when
the connection is commited, the auto commit flag isn't restored. Is this supposed to
be handled by the connection pool?
Here is a patch to change this behaviour
-----------------------------------------------------
--- foo.java 2005-08-23 17:26:02.000000000 -0400
+++ TransactionHelper.java 2005-08-23 17:30:06.000000000 -0400
@@ -43,6 +43,7 @@
String sql = null; // for exception
boolean isJta = tm != null;
boolean catchedException = false;
+ boolean isAutoCommitEnabled = false;
try {
if ( isJta ) {
//JTA environment
@@ -58,7 +59,8 @@
else {
// get connection from the hibernate defined pool
conn = session.getBatcher().openConnection();
- if ( conn.getAutoCommit() ) conn.setAutoCommit( false );
+ isAutoCommitEnabled = conn.getAutoCommit();
+ if ( isAutoCommitEnabled ) conn.setAutoCommit( false );
}
Serializable result = doWorkInCurrentTransaction( conn, sql );
@@ -69,6 +71,7 @@
}
else {
conn.commit();
+ if ( isAutoCommitEnabled ) conn.setAutoCommit( true );
}
return result;
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: