트랜잭션이 적용이 안되면 예외 발생시 롤백이 적용이 되지않아 큰 문제로 이어질 수 있습니다!


자주 일어나는 문제중 하나가 트랜잭션 AOP 중에서 프록시 내부 호출 관련 문제입니다.


트랜잭션 AOP는 기본적으로 프록시 방식의 AOP를 사용합니다.


따라서 트랜잭션을 적용하려면 항상 프록시를 통해서 대상 객체에 접근해야 합니다.


프록시를 거치지 않고 대상 객체를 직접 호출하게 되면 AOP가 적용되지않고, 트랜잭션도 적용되지 않습니다!


즉, @Transactional을 붙여놓아도 그 객체 내부에서 메서드 호출이 발생하면 프록시를 거치지 않고 대상 객체를


직접 호출하는 문제가 발생합니다! 


이런경우를 주의해야합니다!


보통은 메서드를 아예 분리합니다!


감사합니다~