Q:

Using AbstractTransactionalJUnit4SpringContextTests with Oracle Procs which COMMIT

I'm using AbstractTransactionalJUnit4SpringContextTests to run a simple test:
public class MyTests extends AbstractTransactionalJUnit4SpringContextTests
{
    @Test
    public void simpleProcTest()
    {
        simpleJdbcTemplate.update("BEGIN p_dummy_commit; END;");
    }
}

The proc mentioned does a simple table update then a COMMIT.
Problem is, the change made by this dummy proc doesn't get rolled back as I'd hoped.
Background: we have a large app which has lots of procs which do this, I am trying to find out how to test these in a rolled-back manner despite them containing explicit COMMIT statements.
I'm hoping to take advantage of a transaction-nesting capability, which I'd thought I might be getting for "free" with this Spring superclass. It seems I don't though.
Anyone know how to achieve this?
I've confirmed the rollback succeeds as expected when I do direct SQL UPDATEs outside of a proc, so my Spring datasource and transactionManager look to be behaving OK.

A:

I've been advised offline that because our procs are littered with explicit COMMIT statements we just  aren't going to be able to easily perform 100% clean rollbacks.  Bah humbug.

