
머리말프로젝트를 하다보면 @Transactional을 자주 쓰게 된다. 근데 이게 내부적으로 어떻게 동작하는지는 몰랐다. 그냥 마법처럼 스프링에서 관리해주는 어노테이션이라고 막연하게만 생각했다. 사용하기는 너무 쉽다. 트랜잭션이 필요한 곳에 메서드나 클래스에 @Transactional을 추가하면 된다. 근데.. 누군가 나에게 이것의 동작원리를 물으면 나는 뭐라고 답해야되나..(음... 지피티한테 물어볼게 잠깐만) 그래서 이번 기회에 한번 파헤쳐보려고한다. 본문일단 이것을 왜 사용해야될까? 먼저 트랜잭션의 사용이유를 알아보자. 트랜잭션이란 All or Nothing 원칙으로 작동한다.즉, 하나의 논리적 작업 단위에 포함된 모든 연산이 성공하면 커밋(Commit)하고, 하나라도 실패하면 모든 작업을 롤백(R..