← 글 목록

Spring Data JPA와 QueryDSL을 함께 사용할 때의 기준

단순 조회와 동적 조회를 구분해 Repository 책임을 명확하게 유지하는 기준을 정리합니다.

  • Spring Boot
  • JPA
  • QueryDSL

Spring Data JPA와 QueryDSL의 역할 나누기

Spring Data JPA의 메서드 이름 기반 쿼리는 조건이 단순할 때 의도가 잘 드러납니다. 조건 조합이 늘어나기 시작하면 QueryDSL로 조회 책임을 옮기는 편이 변경 범위를 이해하기 쉽습니다.

선택 기준

  • 고정된 단일 조건 조회는 Spring Data JPA를 사용합니다.
  • 선택 조건이 조합되는 목록 조회는 QueryDSL을 사용합니다.
  • 화면 요구사항에 종속된 조회 결과는 전용 응답 타입으로 반환합니다.

도구를 먼저 정하기보다 조회 조건의 복잡도와 반환 데이터의 책임을 먼저 확인하는 것이 중요합니다.