我有一个程序,它使用handler,businessObject和DAO来执行程序。控制从处理程序到businessObject开始,最后到DAO进行数据库操作。
例如,我的程序执行3个操作:insertEmployee(),updateEmployee()和deleteEmployee()从处理程序一个接一个地调用每个方法。一旦insertEmployee()调用控件返回到处理程序然后它再次调用updateEmployee()控制回处理程序然后它调用deleteEmployee()。
问题陈述:如果我在dao中的前两个方法成功并且控制权返回到处理程序,那么它请求dao的下一个方法是deleteEmployee()。同时它在deleteEmployee()中面临某种异常。它应该能够回滚早期的insertEmployee()和updateEmployee()操作。它不应该只回滚deleteEmployee()。它应该表现为该程序从未在系统中运行。
任何人都可以指出如何在spring jdbcTemplate事务管理中实现这一点。
答案 0 :(得分:0)
您应该检查特殊的交易传播:PROPAGATION_REQUIRED
。