使用 Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); 设置回滚点。
    使用 TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); 回滚到 savePoint。

    1. @Override
    2. @Transactional(rollbackFor = Exception.class)
    3. public Object submitOrder (){
    4. success();
    5. // 只回滚以下异常,
    6. Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
    7. try {
    8. exception();
    9. } catch (Exception e) {
    10. e.printStackTrace();
    11. // 手工回滚异常
    12. TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
    13. return ApiReturnUtil.error();
    14. }
    15. return ApiReturnUtil.success();
    16. }