ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Volkmann <m...@ociweb.com>
Subject transactions with Spring DAOs
Date Tue, 13 Mar 2007 19:29:35 GMT
I seem to be getting automatic transactions when I use Spring DAOs  
generated by Abator even though my SqlMapConfig.xml contains the  
following.

   <transactionManager type="JDBC">
     <dataSource type="SIMPLE">
...

Here's the simple bit of code I'm using to test this. The change to  
addressId is persisted even though a RunTime exception is thrown  
inside the try and commitTransaction is not called. Any idea what I  
might be doing wrong?

     boolean problem = true;
     Person person = personDAO.selectByPrimaryKey(markId);
     SqlMapClient smc = ((SqlMapClientDaoSupport)  
personDAO).getSqlMapClient();
     try {
       smc.startTransaction();

       person.setAddressId(addressId);
       personDAO.updateByPrimaryKey(person);
       System.out.println("updated address"); // This is output.

       // What happens if an exception occurs here?
       if (problem) throw new RuntimeException("something bad  
happened");

       person.setHomePhoneId(homePhoneId);
       personDAO.updateByPrimaryKey(person);
       System.out.println("updated home phone"); // This isn't output.

       smc.commitTransaction();
     } finally {
       smc.endTransaction();
     }

Mime
View raw message