I've been experiencing a transaction management issue with Spring's SqlUpdate class.
I have 3 instances of SqlUpdate, two of them are update statements the other is an alter table statement. I have a catch statement wherein if there's an error transaction should be rolled back.
This works ok if the problem is with the update statement, say update statement 1 is ok, update statement2 gets an error statement1 gets rolled back. But if the problem is with the alter table statement, the 2 update statements get committed even though rollback is called.
If anybody has an idea, it would be greatly appreciated. Thanks.
Unfortunately, it is not a transaction problem. It is that an Alter Table command is a DDL command, and Updates are CRUD commands. Databases act differently with different types of commands. In almost all databases a DDL script means a commit is run automatically by the database. No ways around that except maybe in some kind of database configuration. But you would need to contact your DBA to do that.