속성은 아래의 괄호 안에 들어가는 값을 의미함
속성 | 기능 |
---|---|
propagation | 트랜잭션 전파 규칙 설정. 보통 required로 씀(default값임) |
isolation | 트랜잭션 격리 레벨 설정 |
readOnly | 읽기 전용 여부 설정 |
rollbackFor | 트랜잭션을 롤백(rollback)할 예외 타입 설정 |
norollbackFor | 트랜잭션을 롤백하지 않을 예외 타입 설정 |
timeout | 트랜잭션 타임아웃 시간 설정 |
값 | 의미 |
---|---|
REQUIRED | 트랜잭션 필요, 진행 중인 트랜잭션이 있는 경우 해당 트랜잭션 사용. 트랜잭션이없으면 새로운 트랜잭션 생성. 디폴트 값 |
MANDATORY | 트랜잭션 필요. 진행 중인 트랜잭션이 없는 경우 예외 발생 |
REQUIRED_NEW | 항상 새로운 트랜잭션 생성. 잘 사용하지 않음 |
ROLLBACKFOR | 디폴트가 runtimeException. 내가 만든 예외가 발생할 때에만 트랜잭션을 동적하도록 할 수 있음 |