본문 바로가기
Spring Framwork

Transaction Propagation

by orioncsy 2023. 4. 1.

Transaction Propagation

개념

JPA 전파 단계

  • 트랜잭션이 다른 트랜잭션을 실행할 경우 어떻게 처리하는지에 대한 개념

종류

REQUIRED

  • 기본 DEFAULT로 설정되어 진행중인 트랜잭션이 있다면 해당 트랜잭션을 사용하고 없으면 생성

REQUIRES_NEW

  • 항상 새로운 트랜잭션 생성
  • 진행 중인 트랜잭션이 있는 경우 중지하고 새로운 트랜잭션을 생성하고 끝나면 기존 트랜잭션 실행

SUPPORTS

  • 트랜잭션을 필요하지 않는다.
  • 기존 트랜잭션이 있다면 사용

NOT_SUPPORTS

  • 트랜잭션을 필요하지 않는다.
  • 기존 트랜잭션이 있다면 중지하고 작업이 끝나면 기존 트랜잭션 다시 실행

MANDATORY

  • 트랜잭션이 항상 필요
  • 실행 중인 트랜잭션이 없다면 예외 발생

NEVER

  • 트랜잭션이 항상 불필요
  • 실행 중인 트랜잭션이 있다면 예외 발생

NESTED

  • 진행 중인 트랜잭션이 있다면 중첩된 트랜잭션을 실행

Reference

https://steady-hello.tistory.com/121

'Spring Framwork' 카테고리의 다른 글

Dirty Checking  (0) 2023.05.07
JPA 영속성 컨텍스트  (0) 2023.03.31
CORS Solution  (0) 2023.03.29
Bean Life Cycle  (0) 2023.03.27
Bean Scope  (0) 2023.03.19