ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Larry Meadors" <lmead...@apache.org>
Subject Re: transactions with Spring DAOs
Date Tue, 13 Mar 2007 20:04:15 GMT
Are you using MySQL w/o innodb, or some other database that is not
transaction aware?

Larry


On 3/13/07, Mark Volkmann <mark@ociweb.com> 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();
>      }
>

Mime
View raw message