@Transactional 애노테이션 스프링은 @Transactional 애노테이션이 붙은 클래스에 프록시를 생성합니다. 프록시는 트랜잭션 로직을 메서드 앞뒤에 넣어줍니다. 이 글은 @Transactional 의 롤백에 대해서 다룹니다. rollbackFor이라는 것을 써보면서 어디에 어떻게 적용되는지 알아보겠습니다. 책 정보를 저장하는 아주 간단한 코드입니다. 다음은 책을 저장하는 메서드입니다. @Transactional 애노테이션의 rollbackFor 속성에 대해서 RuntimeException.class를 등록했습니다. 이 애노테이션은 스프링에게 런타임 예외가 발생한다면 롤백을 하라고 말합니다. 그렇다면 rollbackFor 속성을 주지 않는다면 어떻게 될까요? 사실은 스프링은 디폴트로 UnChe..