alt
Home Transaction 적용이 안되는 몇가지 문제
Post
Cancel

Transaction 적용이 안되는 몇가지 문제


  • Private - 오버라이딩 문제
    • Transaction 처리 과정에서 프록시 객체로 등록하기 때문에 private 불가
    • 마찬가지로 final이 적용된 메서드도 불가능
      • Kotlin에서 allOpen을 통해, 혹은 Open을 통해 가능


  • inner Method
    • 같은 클래스 내의 Transaction 적용되지 않은 메소드에서 @Transactional적용된 메소드은 Transactional로 생성된 proxy 객체를 통해 호출하는 것이 아니라, 내부 호출로 되기 때문에 transaction 적용 불가
    • 해결 방법: @Transactional 을 Callee에서 Caller로 옮겨가면 된다.


  • ReadOnly Method에서 Read-write method 호출
    • read-write 내부에서도 transaction은 readOnly로 동작하게 됨.
    • 반대의 경우도.. 라는데 확인할 필요가 있음



Reference)

https://www.whiteship.me/spring-transactional-and-spring-aop/

https://www.whiteship.me/jpa-entitymanager-contains/

https://handr95.tistory.com/3

https://kapentaz.github.io/spring/Spring-Transaction-%EC%A0%81%EC%9A%A9-%EB%B2%94%EC%9C%84-%EC%A0%9C%EC%96%B4-%EB%B0%A9%EB%B2%95/#

https://netframework.tistory.com/entry/Spring-Transactional%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC

This post is licensed under CC BY 4.0 by the author.