很多时候,我们会遇到一个问题,我们在操作一个业务流程时包括很多个对数据库操作的事务。很当然的,当一个事务出错时,必然需要对所有事务进行回滚,然而java编译处理时往往是哪里出错就停留在哪里。比如说:我们在处理一个添加信息的时候,如果需要两步:添加教师和添加学生。当添加学生时,学生的信息填写出现错误,必然原先添加的教师的那条数据就成了脏数据,需要删除。
我们参考一下Hibernate的操作数据库的方式,来处理这个比较棘手的事务回滚的问题。
首先我们看看Hibernate的操作方式:
下面,我们从代码展开: