デフォルトでは、春の業務にのみ発生したときにキャッチされないのRuntimeExceptionロールバック(実行時例外)。
注意、してみてください書いて、書いていないキャッチしますtry {}キャッチ(例外e) {)(新規のRuntimeExceptionを投げる;} と同じ意味です。
下の図は、異常なJavaシステムを示しています。
ソリューション:
- ないのRuntimeExceptionをキャプチャ、キャプチャまたは投げます。
- キャプチャして、手動でロールバックされ、
try {
//orderDOMapper.insertSelective(orderDO);
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//手动回滚
//throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR,"重复秒杀!");
}
一般的なユーザ体験は良いですが、私は、カスタム例外をスローするように第二の溶液、キャプチャを使用し、その後、手動でロールバックされ、その後、例外をスローカスタマイズします。