<aside> 1️⃣ 트랜잭션 관리란?
</aside>
<aside> 2️⃣ 트랜잭션 관리의 중요성
</aside>
트랜잭션 관리는 데이터베이스 작업의 안전성, 일관성, 동시성, 오류 처리 등을 보장하여 신뢰성 있는 애플리케이션을 구축하는 데 중요한 역할을 한다. 데이터의 정확성과 안전성을 유지하기 위해 트랜잭션 관리는 필수적인 요소이다.
<aside> 3️⃣ 예시
</aside>
선언적 트랜잭션 관리(Declarative Transaction Management)
@Transactional
어노테이션을 사용하여 트랜잭션을 적용할 수 있다.@Transactional
public void performTransaction() {
// 트랜잭션 내에서 수행될 작업들
}
@Transactional
어노테이션은 performTransaction()
메서드를 트랜잭션으로 감싸주는 역할을 한다. 이를 통해 메서드 내의 작업들이 모두 하나의 트랜잭션으로 실행되고, 트랜잭션의 커밋 또는 롤백이 자동으로 처리된다.프로그래밍적 트랜잭션 관리(Programmatic Transaction Management)
PlatformTransactionManager
인터페이스를 사용하여 트랜잭션을 프로그래밍적으로 관리할 수 있다.@Autowired
private PlatformTransactionManager transactionManager;
public void performTransaction() {
TransactionDefinition txDefinition = new DefaultTransactionDefinition();
TransactionStatus txStatus = transactionManager.getTransaction(txDefinition);
try {
// 트랜잭션 내에서 수행될 작업들
transactionManager.commit(txStatus);
} catch (Exception e) {
transactionManager.rollback(txStatus);
throw e;
}
}
PlatformTransactionManager
**를 사용하여 트랜잭션을 시작하고, 예외 발생 시 롤백하거나 성공 시 커밋한다.분산 트랜잭션 관리(Distributed Transaction Management)