1. 전파(Propagation) 속성
- PROPAGATION_MADATORY : 작업은 반드시 특정한 트랜잭션이 존재한 상태에서만 가능
- PROPAGATION_NESTED : 기존에 트랜잭션이 있는 경우, 포함되어서 실행
- PROPAGATION_NEVER : 트랜잭션 상황하에 실행되면 예외 발생
- PROPAGATION_NOT_SUPPORTED : 트랜잭션이 있는 경우엔 트랜잭션이 끝날 때까지 보류된 후 실행
- PROPAGATION_REQUIRED : 트랜잭션이 있으면 그 상황에서 실행, 없으면 새로운 트랜잭션 실행(기본설정)
- PROPAGATION_REQUIRED_NEW : 대상은 자신만의 고유한 트랜잭션으로 실행
- PROPAGATION_SUPPORTS : 트랜잭션을 필요로 하지 않으나, 트랜잭션 상황하에 있다면 포함되어서 실행
2. 격리(Isolation) 레벨
- DEFAULT : DB 설정, 기본 격리 수준(기본설정)
- SERIALIZABLE : 가장 높은 격리, 성능 저하의 우려가 있음
- READ_UNCOMMITED : 커밋되지 않은 데이터에 대한 읽기를 허용
- READ_COMMITED : 커밋된 데이터에 대해 읽기 허용
- REPEATEABLE_READ : 동일 필드에 대해 다중 접근 시 모두 동일한 결과를 보장
3. Read-only 속성
- true인 경우 insert, update, delete 실행 시 예외 발생, 기본 설정은 false
4. Rollback-for-예외
- 특정 예외가 발생 시 강제로 Rollback
5. No-rollback-for-예외
- 특정 예외의 발생 시에는 Rollback 처리되지 않음
'개발 이야기 > Spring' 카테고리의 다른 글
Ajax 실행결과와 상관없이 404에러가 뜨는 문제 해결 (0) | 2020.02.19 |
---|---|
Transaction 어노테이션 적용 우선순위 (0) | 2020.02.12 |