In your code the message for the exception is the same so did you check what is causing the exception? If you get an exception while calling endTransaction() (and after getting a previous exception) meaning that ibatis cannot rollback there is a chance that you are hitting the default behaviour of the oracle jdbc driver i.e. commit while exiting the progam.
Giovanni
P.S. I think if you can post a simple complete test case (with objects , sql for creating the test table, etc) the cause of the problem should emerge quickly.

Hi Clinton,

Thanks for replying early.

Following is the saveAllRecords which save the list passed.
List contain the BasicDTO which is serialisable.


Suppose I have two DTO in list. First DTO is saved successfully and if I
get exception while saving second DTO , the First DTO which is saved
earlier should get roll backed. But this is not happening ibatis is
saving first DTO.i have set auto commit to false. What change I should
make in order to properly roll back the transaction.


        public void saveAllRecords( String id, List recordList )
        {
                try
                {
                getSession().startTransaction();
                        if (!recordList.isEmpty())
                        {
                                for (int i = 0; i < recordList.size();
i++)

                                {
                             BasicDTO basicDTO = (BasicDTO)
recordList.get(i);
                                   getSession().insert(id +"_INSERT",
basicDTO);
                                }
                                
                        }
                getSession().commitTransaction();
                        
                }
                catch (SQLException e)
                {
                        throw new RuntimeException("Error while
Excecuting Batch"                          + e);
                }
                finally
                {
                        try
                        {
                           getSession().endTransaction();
                        }
                        catch (SQLException e)
                        {
                                throw new RuntimeException("Error while
Excecuting                              Batch" + e);
                                
                        }
                }
                
        }







Regards
yuvraj



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] * www.sungard.com




Success is never ending and failure is never final.








--
Giovanni Cuccu
CUP 2000 Spa
Via del Borgo di S. Pietro, 90/c - 40126 Bologna
e-mail: giovanni.cuccu _at_ cup2000.it

Reply via email to