Back-end/Spring
[Spring/JPA] @Transactional을 사용하는 이유에 대하여 (부제. JPA Dirty Checking)
이번 포스팅에서는 JPA를 사용한다면 한 번쯤은 사용해 봤을 법한 @Transactional 어노테이션에 대해서 알아보려고 합니다. 0. Transaction이란? 그럼 먼저 Transaction에 대해서 간단하게 짚고 넘어가 보겠습니다. Transaction이란 한 문장으로 정의해 보면 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 의미합니다. 일반적으로 알고 있는 SELECT, INSERT, UPDATE, DELETE을 사용해서 데이터베이스를 사용하곤 하는데요. 데이터베이스를 사용할 때 한번 접근해서 수행하는 작업의 단위라고 할 수 있죠. 트랜잭션의 특징으로는 안전성을 보장하기 위해 필요한 4가지 성질이 있습니다. (ACID 성질) 1. 원자성(Atomicity) : 트랜잭션이 한번 ..