我通过hibernate的乐观锁来处理并发的问题,如果有并发问题出现的话,会抛出org.hibernate.StaleObjectStateException这个异常,于是我在service层捕获到了这个异常(这个异常在dao层是捕获不到的),那么问题来了,捕获到这个异常以后该怎么处理呢?
在应用程序中应该捕获该异常,这种异常有两种处理方式
方式一:自动撤销事务,通知用户账户信息已被其他事务修改,需要重新开始事务。(比如:直接给前端一个提示说数据异常,请刷新后重试)。
方式二:通知用户账户信息已被其他事务修改,显示最新存款余额信息,由用户决定如何继续事务,用户也可以决定立刻撤销事务。