DEV/Spring Data JPA

QueryHint를 적용하기 전에 고려해볼 사항

행운개발자 2023. 9. 24. 21:55
728x90

변경감지를 위해서는 원본과 현재의 값을 어쩔 수 없이 둘 다 가지고 있어야 합니다. 어떤 부분이 변경되었는지 파악할 수 있어야하니까요. 정말 조회에만 영향이 있는 쿼리라면 별도의 MemberReadOnlyRepository를 분리해서 읽기 전용 조회를 구성할 수도 있습니다. 하지만 쿼리 힌트보다는 1차 캐시를 우선 적용해서 DB로의 쿼리 자체를 줄이는 것을 먼저 적용하는게 우선입니다. redis와 같은 별도의 구성 없이 쿼리힌트만으로 최적화가 될 수 있는지는 성능 테스트를 진행해봐야 합니다.

 

@Repository
public interface MemberJpaRepository extends JpaRepository<Member, Long> {

    @QueryHints(value = @QueryHint(name = "org.hibernate.readOnly", value = "true"))
    List<Member> findAll();
    
}
728x90