본문 바로가기

스프링(Spring) 완벽 정복/스프링 DB 접근 기술(2)

트랜잭션 전파를 사용하는 이유!!

 

예를 들어, A라는 메서드 안에, 내부 메서드 B,C가 있다고 하자.

클라이언트 A는 외부 메서드 A에만 트랜잭션을 걸고 싶은데,

클라이어트 B는 B 메서드를 호출하는데, 이 때 B 메서드에 트랜잭션을 걸고 싶어 한다.

이렇게 되면, 클라이언트 A를 위한 메서드( 트랜잭션이 걸리지 않은 B,C 메서드  )를 정의해야 하고

클라이언트 B를 위한 메서드 ( 트랜잭션이 걸린 B 메서드)를 따로 따로 정의를 해야 한다. 

이때, 트랜잭션 전파(Propagation)을 사용하면 메서드를 재정의 하지 않고, 위 문제를 해결할 수가 있다.