Development Tip - Transactional(readOnly = true)

  • 공부나 경험을 통해 얻은, 개발에서 활용할 내용들을 담은 포스팅

Transactional(readOnly = true)

  • 우리가 쓰기 메서드나, 읽고 쓰는걸 다 하는 메서드에는 @Transactional 을 붙여준다.

    • 원자성을 보장하고

    • 완전한 Commit 이나 Rollback 을 하기 위해서 사용한다.

  • @Transactional(readOnly = true) 의 경우는 순수 읽기 전용 메서드에 붙여준다.

    • DB에 반영하는게 없으니 굳이 안적어줘도 될 거 같은데 적어주는 이유는,

    • 오직 읽기 작업(SELECT)만 수행한다는 걸 명시적으로 알리기 위함도 있고,

    • JPA 의 더티체킹 변경감지가 일어나지 않아 메모리를 절약할 수 있으며,

    • 트랜잭션 ID를 부여하지 않으므로 오버헤드가 일어나지 않아 성능상 이점이 생기기 때문이다.






results matching ""

    No results matching ""