@Transactional
Spring에서 해당 메서드(method)를 하나의 트랜잭션(Transaction)으로 진행하는 애노테이션(Annotation)입니다.
전파 규칙 (Propagation Behaviors)
총 7가지 전파 규칙이 있고 여기서 기존 트랜잭션이 있거나 없는 경우 다 다르게 작동합니다.
전파 규칙 | 설명 |
MANDATORY | 현재 트랜잭션을 지원하고, 존재하지 않으면 예외를 발생시킵니다. |
NESTED | 현재 트랜잭션이 있는 경우 중첩된 트랜잭션 내에서 실행하고 REQUIRED그렇지 않은 경우와 같이 동작합니다. |
NEVER | 트랜잭션이 아닌 방식으로 실행하고 트랜잭션이 있으면 예외를 발생시킵니다. |
NOT_SUPPORTED | 트랜잭션이 아닌 방식으로 실행하고 현재 트랜잭션이 있는 경우 일시 중단합니다. |
REQUIRED |
현재 트랜잭션을 지원하고 존재하지 않는 경우 새 트랜잭션을
만듭니다. |
REQUIRES_NEW | 새 트랜잭션을 생성하고 현재 트랜잭션이 있으면 일시 중지합니다. |
SUPPORTS | 현재 트랜잭션을 지원하고 트랜잭션이 없으면 트랜잭션이 아닌 방식으로 실행합니다. |
참조
[Spring document transaction annotation]: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/annotation/Propagation.html
728x90
'Framework > Spring' 카테고리의 다른 글
[Spring] MySQL 연동 (JPA, application.properties) (0) | 2023.06.02 |
---|---|
[Spring] org.thymeleaf.exceptions.TemplateInputException (0) | 2023.05.25 |
[Spring] Web Project 시작하기 STEP 1 (0) | 2023.05.15 |
[Spring] Spring 버전별 시스템 요구사항 확인하기 (0) | 2023.01.31 |
[Spring] Spring Boot Querydsl 사용 (0) | 2022.12.27 |
댓글