Я использую AbstractTransactionalJUnit4SpringContextTests для запуска простого теста:
public class MyTests extends AbstractTransactionalJUnit4SpringContextTests
{
@Test
public void simpleProcTest()
{
simpleJdbcTemplate.update("BEGIN p_dummy_commit; END;");
}
}
Упомянутый процесс выполняет простое обновление таблицы, а затем COMMIT.
Проблема в том, что изменение, внесенное этим фиктивным процессом, не откатывается, как я надеялся.
Справочная информация: у нас есть большое приложение, в котором есть множество процедур, которые делают это, я пытаюсь выяснить, как проверить их в режиме отката несмотря на то, что содержит явные операторы COMMIT.
Я надеюсь воспользоваться возможностью вложения транзакций, которую, как я думал, я могу получить "бесплатно" с этим суперклассом Spring. Кажется, я не знаю.
Кто-нибудь знает, как этого добиться?
Я подтвердил, что откат завершился, как и ожидалось, когда я выполняю прямые UPDATE SQL вне proc, поэтому мой источник данных Spring и TransactionManager выглядят нормально.