Are you using MySQL w/o innodb, or some other database that is not transaction aware?
Larry On 3/13/07, Mark Volkmann <[EMAIL PROTECTED]> wrote:
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(); }