[Spring Data] @Transactional 어노테이션으로 보는 Spring의 트랜잭션 이야기

Spring을 한 번 쯤 사용해보셨다면 Transactional 어노테이션에 대해 알고계실 것입니다. 그런데 무작정 썼을 땐 DB랑 연결하고 객체 데이터를 영속할 때 이거 쓰면 돼. 라고 생각하시는 분들이 계셨을 것입니다. 하지만 실제로 이 어노테이션을 사용했을 때와 그렇지 않았을 때 왜 이런 차이가 발생하는지에 대해 한 번 쯤 궁금증을 가져보신 분들이 계신다면 이 글을 차분히 읽어 보셨으면 좋겠습니다. Transaction 트랜잭션에 대해서는 다른 글에서도 충분히 언급되어 있는 내용이지만 여기서 한 번 더 설명을 드리면, 데이터베이스의 트랜잭션을 이야기하며 DBMS 혹은 그 유사한 시스템에서 발생하는 연산들의 상호작용 단위입니다. 좀 더 쉽게 설명을 해보면, 우리는 데이터 하나를 영속하거나 변경하기 위..