본문 바로가기

JAVA

spring 트랜잭션과 db트랜잭션

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