执行sql在catch中手动事务回滚

当执行sql时,spring发生非检查型异常才会回滚事务,当try-catch处理了异常,需要重新抛出异常才能回滚。

在try-catch-finally使用了return语句,异常不会抛出,因此也不会发生回滚,需要手动回滚事务。

在catch块中:

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

你可能感兴趣的:(执行sql在catch中手动事务回滚)