대표적인 두가지 옵션
REQUIRED
(default)
REQUIRES_NEW
REQUIRED
- 모든 논리 트랜잭션이 커밋되어야 물리 트랜잭션이 커밋된다.
- 논리 트랜잭션이 하나라도 롤백되면 물리 트랜잭션은 롤백된다.



- 이때 로직 1, 로직 2를 포괄하는 트랜잭션은 하나의 물리 트랜잭션을 사용한다.
- 물리 트랜잭션이란 실제 DB 의 트랜잭션을 뜻한다.
- 실제 커넥션을 통해서 트랜잭션을 시작 (
setAutoCommit(false)
) 하고, 커밋, 롤백 하는 단위이다.
- 논리 트랜잭션이란 트랜잭션 매니저를 통해 트랜잭션을 사용하는 단위이다.
REQUIRES_NEW
- 논리 트랜잭션별로 물리 트랜잭션을 생성하는 방식
- 한 요청에 대하여 데이터베이스 커넥션이 동시에 2개 사용된다는 점을 주의해야 한다.
