반응형
트렌젝션
- 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미한다.
- begin, commit 을 자동으로 수행해준다.
- 예외 발생 시 rollback 처리를 자동으로 수행해준다.
- 트랜잭션은 4가지의 성질을 가지고 있다.
트렌젝션 처리방법
스프링에서는 간단하게 어노테이션 방식으로 @Transactional을 메소드, 클래스, 인터페이스 위에 추가하여 사용하는 방식이 일반적이다. 이 방식을 선언적 트랜잭션이라 부르며, 적용된 범위에서는 트랜잭션 기능이 포함된 프록시 객체가 생성되어 자동으로 commit 혹은 rollback을 진행해준다.
@Transactional 옵션
1. isolation
트랜잭션에서 일관성없는 데이터 허용 수준을 설정한다
2. propagation
트랜잭션 동작 도중 다른 트랜잭션을 호출할 때, 어떻게 할 것인지 지정하는 옵션이다
3. noRollbackFor
특정 예외 발생 시 rollback하지 않는다.
4. rollbackFor
특정 예외 발생 시 rollback한다.
5. timeout
지정한 시간 내에 메소드 수행이 완료되지 않으면 rollback 한다. (-1일 경우 timeout을 사용하지 않는다)
6. readOnly
트랜잭션을 읽기 전용으로 설정한다.
반응형
'spring' 카테고리의 다른 글
@RequestParam과 @PathVariable (0) | 2022.08.11 |
---|---|
cmd 로 Spring 실행 하기 [Build] (0) | 2022.02.28 |
[Spring] 스프링 빈(Bean)의 개념과 생성 원리 (0) | 2022.01.12 |
MVC구조 정리 (0) | 2022.01.10 |
스프링 시큐리티(Spring Security) (0) | 2021.04.05 |