🔔 QueryDSL이 등장하기 이전에는 Mybatis, JPQL, Criteria 등 문자열 형태로 쿼리문을 작성하여 컴파일 시에 오류를 발견하는 것이 불가능했다. 하지만 QueryDSL은 자바 코드로 SQL 문을 작성할 수 있어 컴파일 시에 오류가 발생하여 잘못된 쿼리가 실행되는 것을 방지할 수 있다.
🚨 SpringBoot3.x + QueryDSL 5.0.0
build.gradle
설정을 아래와 같이 설정해준다.
빌드 디렉토리에 생성되면 이 디렉토리를 직접 소스셋에 추가해야함
소스셋? :
소스셋(Source Set)이란 Gradle이 프로젝트 빌드를 진행할 때 참조하는 소스 코드와 리소스 파일들의 집합을 의미합니다.
예를 들어, Java 프로젝트에서는 'main'과 'test'라는 두 가지 기본 소스셋을 가지게 됩니다. 'main' 소스셋은 애플리케이션의 주요 소스 코드와 리소스들을 담고 있고, 'test' 소스셋은 테스트를 위한 소스 코드와 리소스들을 담고 있습니다.
각 소스셋은 소스 코드가 위치한 디렉토리와 그에 대응하는 컴파일된 클래스 파일들이 저장될 위치를 정의합니다. 이를 통해 Gradle은 프로젝트의 빌드 과정을 관리하게 됩니다.
따라서, Q 클래스의 생성 위치를 소스셋에 포함된 디렉토리로 설정해두면, 빌드 시에 자동으로 Q 클래스를 인식하고 컴파일할 수 있게 됩니다. 이는 추가적으로 소스셋을 설정해주는 작업을 줄여주므로 편리합니다.
빌드 디렉토리는 프로젝트 빌드 시 생성되는 중간 파일들이 저장되는 곳. 이 디렉토리의 내용은 clean작업 등으로 쉽게 삭제될 수 있음
팀원들이 Q클래스 파일을 더 쉽게 찾을 수 있음. 코드 관리 용이