propagation
@Transactional 개념, 사용법
이번 포스팅에선 트랜잭션의 개념과 스프링에서 @Transactional 어노테이션을 통해 트랜잭션 관리를 하는 방법을 알아본다.트랜잭션?트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위이다. 예를 들어, A가 B에게 돈을 송금한다고 해보자. A의 계좌에서 돈을 차감하고, B의 계좌에 돈을 추가하는 과정은 하나의 작업의 단위이다. 둘 중 하나가 실패했을 경우 전체가 원상태로 돌아가야(rollback)하고 두 작업이 모두 완료되어야 성공(commit)되어야 한다. 이 작업의 단위를 트랜잭션이라고 한다. 우리는 보통 트랜잭션의 특징을 말할 때 줄여서 ACID라고 말한다.원자성(Atomicity)트랜잭션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야 된다.일관성(..