On Mar 13, 2007, at 5:30 PM, Larry Meadors wrote:
Version 5 will work for you, you just have to define the tables using
the innodb engine.
http://dev.mysql.com/doc/refman/5.0/en/using-innodb-tables.html
Thanks for the tips! I followed the directions, adding
"ENGINE=InnoDB" to the end of all my table create commands, dropped
the tables, and recreated them. My code still runs as if autocommit
is enabled. I assumed that would be disabled just by explicitly
demarcating the beginning of a transaction, but that alone isn't
doing it.
Is there a way I can verify that my tables are setup for InnoDB?
Is there something else I need to do to disable autocommit for MySQL?
Should I ditch MySQL and use Postgres? ;-)
Larry
On 3/13/07, Mark Volkmann <[EMAIL PROTECTED]> wrote:
On Mar 13, 2007, at 3:04 PM, Larry Meadors wrote:
> Are you using MySQL w/o innodb, or some other database that is not
> transaction aware?
Ahh ... that may be the issue. I'm using MySQL version 5.0.27-
standard. I assumed that all newer versions of MySQL were transaction
aware. Is that wrong? Perhaps I need to download a different version.
> 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();
>> }
>>