如何解决用户使用系统过程中由于异常而出现脏数据的问题

现象:在一个ACTION中对多个表进行数据操作,某一个操作出现异常,导致脏数据的出现

原因:因为异常的出现,导致程序执行过程中断,后续程序无法执行

解决:

方式一:添加try catch 在 catch代码块中添加删除操作,若出现异常则直接删除上述的数据操作

方式二:数据回滚
  • 将该ACTION中涉及的所有数据操作,写到一个service的实现中,该接口需抛出异常
  • 接口实现上方添加@transactional 标签,若程序出现异常,则会数据回滚


备注:尽量避免对所有代码进行try catch 仅仅对可能出现异常的地方进行捕获处理

@transactional标签作用

猜你喜欢

转载自mingyundezuoan.iteye.com/blog/2221201