트랜잭션 전파
propagation은 번식이라는 뜻
메서드가 트랜잭션 내에서 호출될 때 어떻게 트랜잭션을 처리할지 정의
하나의 트랜잭션이 여러 메서드 호출에 걸쳐 있을 때, 각 메서드가 기존 트랜잭션을 사용할지 새로운 트랜잭션을 시작할지 다른 트랜잭션 처리할지 결정
트랜잭션 전파 유헝
REQUIRED
- 기본 전파 속성
- 현재 트랜잭션이 존재하면 사용, 없으면 새로 생성
REQUIRES_NEW
- 항상 새로운 트랜잭션 시작
- 기존 트랜잭션이 존재하면 이를 일시 중단, 새로운 트랜잭션 시작
MANDATORY(필수적인)
- 현재 트랜잭션이 존재해야 함.
- 트랜잭션이 없으면 예외 발생.
SUPPORTS
- 현재 트랜잭션이 존재하면 이를 사용하고, 그렇지 않으면 트랜잭션 없이 실행
NOT_SUPPORTED
- 트랜잭션 없이 실행
- 현재 트랜잭션이 존재하면 이를 일시 중단
NEVER
- 트랜잭션이 존재하지 않아야 함.
- 현재 트랜잭션이 존재하면 예외 발생
NESTED
- 현재 트랜잭션 내에 중첩된 트랜잭션 시작
- 중첩된 트랜잭션은 부모 트랜잭션에 종속적

