환경
Mac M1 pro // OS Ventura 13.6
Intellij version
Springboot 3.2
java 21
문제
클론 코딩 중 JPA Q class 생성 후 Import가 되지 않는 문제가 생겼습니다.
해결 시도
구글 검색 시 많은 방법이 나오는데 대부분
Intellij Project Structure 👉 Project Settings 👉 Modules 👉
Build 하위 generated 폴더를 Soures를 눌러서 잡는 방법이 많습니다.
하지만 저 같은 경우는 전혀 Import가 되지 않았습니다.
해결 과정
1) 디렉토리를 보면 알겠지만 QTodo라고 Q Class가 생성된게 보이긴 합니다만...
임포트가 되지 않습니다...??
2) build.gradle 설정
def querydslSrcDir = 'src/main/generated'
sourceSets {
main {
java {
srcDirs += [ querydslSrcDir ]
}
}
}
tasks.withType(JavaCompile) {
options.generatedSourceOutputDirectory = file(querydslSrcDir)
}
3) 해결
위와 같이 build gradle에서 Q Class의 소스를 src/main/generated 디렉토리 위치를 설정합니다.
이렇게 하고 Build or compileJava 후 Import를 하면 가능해집니다.
참조
Spring Boot 에서 QueryDSL JPA 사용하기 (velog.io)