Transaction이란 Spring은 @Transactional 어노테이션을 이용해 선언적 트랜잭션 처리를 할 수 있도록 지원한다. 그렇다면 먼저, 트랜잭션이란 뭘까? 트랜잭션이란, DB의 상태를 변화시키기 위해 진행하는 작업의 단위를 말한다. CRUD의 C U D에 해당하는 SQL 질의어(INSERT, DELETE, UPDATE)를 통해 DB에 접근하는 것을 말한다. 이 때, [SQL 질의어 하나 == 직업의 단위] 가 아니다. 예시 : 송금 A의 계좌에서 B의 계좌로 100만원을 송금한다고 가정하자. 그리고 프로세스는 다음과 같다고 하자. 출금 : A의 계좌에서 100만원이 차감된다. (UPDATE) 입금 : B의 계좌에 100만원을 추가한다. (UPDATE) 그런데 그 짧은 순간 네트워크에 문제가..