spring

@Transactional

jojelly 2022. 4. 11. 11:26
반응형

트렌젝션

  • 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미한다.
  • 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