@Transactional 에는 rollbackFor 옵션이 있다. 해당 옵션의 주석을 확인해 보았더니 By default, a transaction will be rolled back on RuntimeException and Error but not on checked exceptions (business exceptions). See org.springframework.transaction.interceptor.DefaultTransactionAttribute.rollbackOn(Throwable) for a detailed explanation. Transaction은 Unchecked Exception(RuntimeException 하위 클래스)과 Error에만 roll back을 수행하고, C..