Projection 2

Spring Data JPA 고급 기능 - Specification, Projection, Auditing

들어가며Spring Data JPA는 기본 CRUD 외에도 강력한 고급 기능들을 제공합니다. 동적 쿼리를 위한 Specification, 필요한 컬럼만 조회하는 Projection, 생성/수정 시간을 자동 관리하는 Auditing 등을 제대로 활용하면 코드 품질과 생산성을 크게 높일 수 있습니다. 이 글에서는 실무에서 바로 적용 가능한 수준으로 각 기능을 다루겠습니다.1. JpaSpecificationExecutor - 동적 쿼리 구현검색 조건이 동적으로 변하는 경우(관리자 검색 화면 등), QueryDSL 없이 Specification만으로도 깔끔하게 동적 쿼리를 구현할 수 있습니다.Repository에 JpaSpecificationExecutor 추가public interface ProductRepo..

JPA 2026.04.03

QueryDSL 실전 가이드 - 동적 쿼리부터 페이징까지

왜 QueryDSL인가?Spring Data JPA는 간단한 CRUD 쿼리에는 매우 강력하지만, 복잡한 동적 쿼리를 작성하기에는 한계가 있습니다. JPQL은 문자열 기반이라 컴파일 시점에 오류를 잡을 수 없고, Criteria API는 코드가 너무 복잡해 가독성이 떨어집니다. QueryDSL은 타입 안전한 자바 코드로 쿼리를 작성할 수 있게 해주며, 특히 동적 쿼리 작성에 탁월한 성능을 발휘합니다.1. QueryDSL 설정 (Spring Boot 3.x 기준)Spring Boot 3.x(Jakarta EE) 기준으로 QueryDSL 설정 방법을 안내합니다.Gradle 설정 (build.gradle)plugins { id 'java' id 'org.springframework.boot' vers..

JPA 2026.03.26