'Framework/mybatis'에 해당되는 글 3건

  1. 2011.09.29 spring & iBaits 일 때 트랜잭션 처리
2011. 9. 29. 15:05

Spring & iBatis 연동일 때 트랜잭션 처리방법은 몇가지가 존재한다.
크게 소스 상 로컬 트랜잭션과 spring에서의 트랜잭션이다.
(로컬 트랜잭션은 iBatis 에서 명명하며 spring에서의 트랜잭션은 선언적 트랜잭션 등 사용할 수 있는 여러 트랜잭션을 지칭한다)

여기서는 로컬 트랜잭션을 사용할 때 spring & iBatis 연동 시 문제점 및 해결방안만을 보고자 한다.
로컬 트랜잭션으로 처리할 때 DAO 상에서 간략하게 소스 몇줄을 추가해주면 동작하게 된다.

식으로 처리하면 된다. spring을 연동하지 않았을 땐 정상적으로 동작하지만 spring & iBatis 연동 시엔 제대로 트랜잭션이 동작하지 않는다.
 
이렇게 처리하면 트랜잭션이 제대로 동작한다. 이유는 아직 모르겠다.. sqlMapper를 spring IOC 로 주입해서 사용할 때 이런 문제가 발생하는데 그때 트랜잭션정보를 제대로 캐치하지 못하여 발생하는 문제가 아닐까 싶다.
Posted by silver0r