Hi,

Thank you so much for your explanations!

Fact:
iBATIS always setAutoCommit(false).
If you execute only SELECT statements and forceCommit is set to false, then no 
commit() or rollback() is executed by iBATIS.

Spec:
http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#setAutoCommit(boolean)
".... Otherwise, its SQL statements are grouped into transactions that are 
terminated by a call to either the method commit or the method rollback."

In iBATIS SELECT case, no commit or rollback is executed ...

Question:
How do you interpret this fact?

Thank you,
Cornel


  ----- Original Message ----- 
  From: Koka Kiknadze 
  To: user-java@ibatis.apache.org 
  Sent: Tuesday, January 23, 2007 12:11 PM
  Subject: Re: Autocommit not properly handled in Ibatis.




    iBATIS always commits or rolls back transactions explicitly with
    commit() and rollback(). 

    Clinton


  IJust to spare someone's time  I'd like to add that it is only true if
  1. Threre were some insert/update/delete or procedure calls after 
startTransaction()
  OR
  2. The forceCommit (commitRequired) property is set to true 

  I.e. if, after startTransaction(), only select statements are executed and 
forceCommit is set to false, no commit is issued to the database even if you 
call commit in iBatis.
  I've lost couple of hours until Jeff explained that to me and I hope I got it 
right. 

Reply via email to