【发布时间】:2011-01-17 11:45:04
【问题描述】:
我正在使用 AbstractTransactionalJUnit4SpringContextTests 运行一个简单的测试:
public class MyTests extends AbstractTransactionalJUnit4SpringContextTests
{
@Test
public void simpleProcTest()
{
simpleJdbcTemplate.update("BEGIN p_dummy_commit; END;");
}
}
提到的 proc 做了一个简单的表更新,然后是一个 COMMIT。
问题是,这个虚拟 proc 所做的更改并没有像我希望的那样回滚。
背景:我们有一个大型应用程序,它有很多执行此操作的过程,我正在尝试找出如何以回滚方式测试这些过程尽管它们包含显式 COMMIT 语句。
我希望利用事务嵌套功能,我想我可能会通过这个 Spring 超类“免费”获得它。不过我好像没有。
有人知道如何实现吗?
当我在 proc 之外执行直接 SQL UPDATE 时,我已确认回滚成功,因此我的 Spring 数据源和 transactionManager 看起来表现正常。
【问题讨论】:
标签: java oracle spring testing junit