方式1:
事务业务函数写在service层,在需要回滚时抛出运行时异常throw new RuntimeException(),并且在service层的上层捕获这个异常,这种方式就不要在函数中使用try catch,就按普通的函数写,我们一般写函数的时候验证不通过的时候我们写 return 关键字,在写事务的业务函数时我们就直接 throw new RuntimeException()。在声明函数的时候最好加上 throws 关键字,那么在上层调用此函数时候,就需要加上try catch。
方式2:
手动回滚,在service层的事务业务处理函数中需要回滚时写 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()语句
业精于勤,荒于嬉;行成于思,毁于随。——韩愈