티스토리 뷰
반응형
Springi Transaction 9-4 Annotation을 이용한 트랜잭션 처리
£ Annotation 관련 설정
• Annotation 기반의 트랜잭션을 위해서 다음 설정이 필요함.
• <tx:annotation-driven transaction-manager="txManager"/>
• TransactionManager를 무엇을 사용할지는 설정파일에 등록된 bean을 사용함.
£ @Transactional 사용
• 각 클래스와 메서드에 지정할 수 있음.
• 메서드가 클래스보다 더 우선함.
£ @Transactional(readOnly = true)
£ public class UserServiceImpl implements UserService {
£ public UserVO getUser(UserVO vo) {
£ ...
£ }
£
£ @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
£ public void updateFoo(Foo foo) {
£ ...
£ }
£ }
• @Transactional 의 속성
|
속성
|
필수여부
|
기본값
|
설명
|
|
Propagation
|
선택
|
REQUIRED
|
트랜잭션 전파 방법을 설명한다.
|
|
Isolation
|
선택
|
DEFAULT
|
트랜잭션 격리 레벨. 데이터베이스가 지원하는 기본 값으로 설정된다.
|
|
Timeout
|
선택
|
-1
|
트랜잭션 타임아웃 값 (초단위 설정)
|
|
readOnly
|
선택
|
false
|
트랜잭션이 읽기만 가능한가?
|
|
rollbackFor
|
선택
|
트랜잭션을 Rollback할 예외 타입을 지정한다. 콤마로 구분하여 여러 개를 나열 할 수 있다. 예를 들어 com.MyException, com.AnotherException 등으로 설정한다.
|
|
|
noRollbackFor
|
선택
|
트랜잭션을 Rollback하지 않을 예외 타입을 지정한다.
|
반응형
'it' 카테고리의 다른 글
| MVC 패턴 / 비즈니스로직 / DAO / DTO (0) | 2023.02.23 |
|---|---|
| Webtob 설치 (0) | 2023.02.22 |
| 분산-기억장치 시스템 구조 -선형 배열(linear array) 구조 (0) | 2023.02.20 |
| 파이썬 함수, 구구단 (0) | 2023.02.19 |
| OSI 7계층 모델의 계층별 기능 (0) | 2023.02.18 |
댓글
