@Transactional 어노테이션과 롤백 규칙 Spring의 @Transactional 어노테이션은 AOP(Aspect-Oriented Programming)를 사용하여 트랜잭션을 관리한다. @Transactional이 적용된 메서드에서 예외가 발생하면, Spring은 해당 예외가 롤백을 유발해야 하는지 확인하는데 기본적으로 Spring은 Unchecked Exception (RuntimeException 또는 Error)이 발생했을 때만 롤백한다. Checked Exception에 대해서는 롤백을 수행하지 않는데, 이는 Checked Exception이 비즈니스 로직에서 복구 가능한 예외로 간주되기 때문. 즉, 개발자가 Checked Exception을 처리하기 위한 별도의 로직을 구현했을 것으로..