HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
JPA
JPA
/
JPA의 트랜잭션 전파
JPA의 트랜잭션 전파
JPA의 트랜잭션 전파

JPA의 트랜잭션 전파

 
대표적인 두가지 옵션
  • REQUIRED (default)
  • REQUIRES_NEW
 

REQUIRED

  • 모든 논리 트랜잭션이 커밋되어야 물리 트랜잭션이 커밋된다.
  • 논리 트랜잭션이 하나라도 롤백되면 물리 트랜잭션은 롤백된다.
notion image
notion image
notion image
  • 이때 로직 1, 로직 2를 포괄하는 트랜잭션은 하나의 물리 트랜잭션을 사용한다.
  • 물리 트랜잭션이란 실제 DB 의 트랜잭션을 뜻한다.
    • 실제 커넥션을 통해서 트랜잭션을 시작 (setAutoCommit(false)) 하고, 커밋, 롤백 하는 단위이다.
  • 논리 트랜잭션이란 트랜잭션 매니저를 통해 트랜잭션을 사용하는 단위이다.
 

REQUIRES_NEW

  • 논리 트랜잭션별로 물리 트랜잭션을 생성하는 방식
  • 한 요청에 대하여 데이터베이스 커넥션이 동시에 2개 사용된다는 점을 주의해야 한다.
notion image