[JPA] @Transactional(readOnly = true) 은 왜 사용해요?
@Transactional(readOnly = true) 은 왜 사용해요? 장단점을 확인해보면서 알아보자 장점 readOnly = true 사용시, 하이버네이트 세션 플러시 모드를 MANUAL로 적용한다. 때문에 강제로 flush를호출해야만 flush가 일어난다. 때문에 엔티티의 변경되는 동작을 하지 않기 때문에 엔티티 변경에 안전하다. 또한 JPA는 해당 트랜잭션 내에서 조회하는 Entity는 읽기전용으로 인식하고, 변경 감지를 위한 Snapshot을 따로 보관하지 않으므로 메모리가 절약되는 성능상 이점,(그냥 @Transactional 만사용하면 @Transactional 사용 영역에서는 JPA의 스냅샷 유지, flush의 필요성, DB 커넥션을 오래 물고 있는 등의 관리적인 오버헤드 발생이라는 단점..