0
많은 데이터에서 일부 처리를 수행하므로 루프를 수행합니다. 10 항목 I 루프, 마지막에 오류가 발생할 경우다중 쿼리 및 트랜잭션
@Transactional
@Override
public void processPayment(List<Long> paymentsId, PaymentModeEnum paymentMode) throws ProcessPaymentException{
...
processCreditCardPayment(payments);
}
private void processCreditCardPayment(List<Payment> payments) throws ProcessPaymentException {
for (Payment payment : payments) {
try {
//save to db
}catch (ProcessPaymentException ppe) {
}
}
}
ProcessPaymentException은 예외에게
을 확장합니다. 모든 항목이 롤백되었거나 (모든 항목) 오류가있는 항목 만 있습니까?
쉽게 동작을 테스트 할 수 있습니다. 대답은 'db에 저장'의 구현에 따라 달라집니다. – iamiddy
스프링 데이터 저장소의 저장 방법 만 해당됩니다. –