21.04.05

민주·2021년 4월 5일

[Transaction 설정]

1. cglib 라이브러리 추가
2. servlet-context.xml에서 트랜잭션 설정 import
<beans:import resource="classpath:config/transaction.xml"/>
3. transaction.xml에서 DB연결정보랑 어노테이션 사용설정 추가
<!-- DB연결정보 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
</bean>
<!-- @Transaction 어노테이션 사용 설정 -->
<tx:annotation-driven proxy-target-class="false"/>
4. 서비스에서 사용할 메서드 위에 @Transactional 붙여서 트랜잭션이라고 명시해주기
@Transactional 옵션 내용 (안줘도 기본으로 들어감)
Isolation.READ_COMMITTED(기본): 다른 트랜잭션에서 commit된 데이터만 읽을수 있게 하는 level
Isolation.READ_UNCOMMITTED : 다른 트랜잭션에서 commit안된 데이터도 읽을수 있게 하는 level
Isolation.READ_REPEATABLE_READ : 조회중인 데이터를 다른 트랜잭션에서 UPDATE하지 못하도록 하는 level
Isolation.READ_SERIALIZABLE : 한 트랜잭션내용이 commit 할 때 까지 다른 트랜잭션은 CRUD가 불가
profile
개발이좋아요

0개의 댓글