티스토리 뷰

반응형

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하지 않을 예외 타입을 지정한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함