Tagged: transaction

[Spring]트랜잭션의 전파옵션

스프링에서 트랜잭션의 전파옵션에 대해서 알아보자. 디폴트 값은 REQUIRED 이다. REQUIRED가장 많이 사용하는 기본 설정이다. 기존 트랜잭션 없음: 새로운 트랜잭션을 생성한다.기존 트랜잭션 있음: 기존 트랜잭션에 참여한다. REQUIRES_NEW항상 새로운 트랜잭션을 생성한다. SUPPORT트랜잭션을 지원한다는 뜻이다.기존 트랜잭션 없음:...

[Spring]트랜잭션의 전파

스프링에서는 2개의 트랜잭션이 중첩되어 있을 때, 이를 propgation(전파) 옵션으로 제어할 수 있다. 트랜잭션의 중첩은 이미 트랜잭션이 진행중인 상황에서 추가로 트랜잭션을 수행하는 경우를 말한다. 아래와 같은 상황을 말한다. 트랜잭션의 중첩 여기서 외부 트랜잭션은 로그내용 중...

[Spring]스프링 트랜잭션 전파의 기본원칙

스프링에서는 트랜잭션을 물리 트랜잭션, 논리 트랜잭션으로 구분한다. 스프링에서는 모든 논리 트랜잭션이 커밋되어야 물리 트랜잭션이 커밋된다. (기본 전파레벨 : required) 하나의 논리 트랜잭션이라도 롤백이 발생하면 물리 트랜잭션은 롤백된다. (모든 논리트랜잭션이 롤백된다.)