Cornel,

Uh, doesn't it say that if autocommit is disabled that commit must be called for the changes to commit. If that is the case, you call commit during the transaction if no exception is thrown and do endTransaction in you catch an exception. The database getting no explicit commit rolls back the current changes at the end of the transaction. It seems to work for us that way, but we do not directly work with the connection. We use the DAO transaction processing.

Maybe someone will correct me if I am wrong.

Al

Cornel Antohi wrote:
Hi Richard,
I do not agree with you: http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#setAutoCommit(boolean <http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#setAutoCommit%28boolean>) Thank you,
Cornel

    ----- Original Message -----
    *From:* Yee, Richard K CTR DMDC
    <mailto:[EMAIL PROTECTED]>
    *To:* 'user-java@ibatis.apache.org'
    <mailto:[EMAIL PROTECTED]>
    *Sent:* Monday, January 22, 2007 6:42 PM
    *Subject:* RE: Autocommit not properly handled in Ibatis.

    Antohi,
    It looks to me that the code does exactly what Clinton says. If
    autocommit is on, iBATIS turns it off and thus does not use
    autocommit to commit changes to the DB.
-Richard
        -----Original Message-----
        *From:* Cornel Antohi [mailto:[EMAIL PROTECTED]
        *Sent:* Monday, January 22, 2007 2:37 AM
        *To:* user-java@ibatis.apache.org
        <mailto:user-java@ibatis.apache.org>
        *Subject:* Re: Autocommit not properly handled in Ibatis.

        Hi Clinton,
1) What do you mean by "iBATIS never uses AutoCommit"? Here is
        what I found in:

        com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction -->
        private void init() throws SQLException, TransactionException

        // AutoCommit
        if (connection.getAutoCommit()) {
            connection.setAutoCommit(false);
        }
Thank you,
        Cornel
----- Original Message -----
        From: "Clinton Begin" <[EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>>
        To: <user-java@ibatis.apache.org
        <mailto:user-java@ibatis.apache.org>>
        Sent: Friday, January 19, 2007 8:52 AM
        Subject: Re: Autocommit not properly handled in Ibatis.

        A few things:

        1) iBATIS never uses AutoCommit.

2) setCommitRequired has nothing to do with AutoCommit. iBATIS uses
        deferred commits to avoid unecessary commits when no
        non-queries have
        been issued.  And setCommitRequired is actually parameterized
        and can
        be set with <transactionManager ... commitRequired="true">

        3) You'll need to post your code so we can see what it's
        doing.  Are
        you calling startTransaction()?  Are you using
        setUserConnection?  Or
        openSession(conn)?

        I'm sure with the right information we can resolve this for
        you easily.

        Clinton

        On 1/18/07, Yuvraj Shinde <[EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>> wrote:
        >
        >
        >
        >
        > Hi all,
        >
        >
        >
        >    I want to know how to handle auto commit in ibatis.if I
        am saving two
        > records and if I get an exception while saving second record
        the first
        > record saved should be rolled back.
        >
        >   But ibatis is saving the first record. How I should handle
        this even
        > though the auto commit property is explicitly set to false.
        >
        >
        >
        >    Even though AutoCommit value is set to false. Rollback of
        Transaction is
        > not working.
        >
        >    I found one Issue in GeneralStatement.java.
        >
        >    On line 52  request.getSession().setCommitRequired(true);
        >
        >
        >
        >    Here Auto commit is hard coded it should be parameterized
        so that it will
        > take value from "Auto commit" property of  SqlMapConfig.xml.
        >
        >    Please correct me if I am wrong.please send me a solution.
        >
        >
        >
        > Regards
        >
        > Yuvrajs
        >
        >
        >
        >
        >
        >
        >
        >
        >
        > Yuvraj Shinde * Senior Software Engineer -  Zainet*  SunGard
        * Offshore
        > Services *
        >  Pride Portal,CTS No 103A/5A/1A/1B Bhamburda,Senapati Bapat
        Road,
        > shivajinagar,Pune 411016
        >  Tel Direct +91 20 66248045 * Main +91 20 66248000 * Fax +91
        20 25606222
        >  [EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]> * www.sungard.com
        <http://www.sungard.com>
        >
        >
        >
        >
        > Success is never ending and failure is never final.
        >
>

Reply via email to