트랜잭션의 성질
▶ 원자성(Atomicity)
▶ 일관성(Consistency)
▶ 격리성(Isolation)
▶ 지속성(Durability)
트랜잭션을 성공적으로 마치면 결과가 항상 저장되어야 한다.
스프링에서 트랜잭션 처리 방법
스프링에서는 트랜잭션 처리를 지원하는데 그중 어노테이션 방식으로 @Transactional을 선언하여 사용하는 방법이 일반적이며, 선언적 트랜잭션이라 부른다.
클래스, 메서드위에 @Transactional 이 추가되면, 이 클래스에 트랜잭션 기능이 적용된 프록시 객체가 생성된다.
이 프록시 객체는 @Transactional이 포함된 메소드가 호출 될 경우, PlatformTransactionManager를 사용하여 트랜잭션을 시작하고, 정상 여부에 따라 Commit 또는 Rollback 한다.