1. Spring 트랜잭션 vs. DB 트랜잭션 차이점
비교 항목Spring 트랜잭션DB 트랜잭션
주체 | Spring 프레임워크 (트랜잭션 매니저) | DBMS (예: CUBRID, MySQL, Oracle 등) |
관리 대상 | 여러 개의 DB 트랜잭션, 서비스 계층에서 트랜잭션 제어 가능 | 하나의 DB 커넥션 내에서 실행되는 SQL 문들 |
적용 범위 | 메서드 단위로 트랜잭션 관리 가능 (@Transactional 사용) | 특정한 SQL 쿼리 실행 단위로 관리 |
전파(Propagation) 지원 | 여러 개의 트랜잭션을 하나로 묶어서 관리 가능 | 단일 DB 커넥션 내에서만 관리 |
트랜잭션 롤백 | 런타임 예외가 발생하면 자동으로 롤백 가능 | ROLLBACK 명령을 직접 실행해야 함 |
다중 데이터베이스 지원 | 여러 개의 DB와 연동 가능 (JTA 사용) | 하나의 데이터베이스에서만 동작 |
Spring 트랜잭션은 비즈니스 로직을 기준으로 트랜잭션을 관리할 수 있도록 도와주고, DB 트랜잭션은 SQL 실행 단위에서 트랜잭션을 관리하는 차이가 있음.
즉, Spring 트랜잭션은 비즈니스 로직 중심, DB 트랜잭션은 데이터 조작 중심 이다.
'JAVA' 카테고리의 다른 글
string 타입 비교 조건문에서 NPE 예방하기 (0) | 2025.03.17 |
---|---|
자바8 이상의 주요 문법 (0) | 2024.11.01 |
equals() (0) | 2024.11.01 |
컬렉션 : List (0) | 2024.11.01 |
다형성 : 상속과 인터페이스 (0) | 2024.11.01 |