Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

실전! Querydsl

Querydsl 설정과 검증

querydsl 설정 문제

작성

·

116

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)


2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)


3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 


auto

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.0'
    id 'io.spring.dependency-management' version '1.1.4'
}
group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
    compileOnly {
       extendsFrom annotationProcessor
    }
}
repositories {
    mavenCentral()
}
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.h2database:h2'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
//test 롬복 사용
    testCompileOnly 'org.projectlombok:lombok'
    testAnnotationProcessor 'org.projectlombok:lombok'
//Querydsl 추가
    implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
    annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
    annotationProcessor "jakarta.annotation:jakarta.annotation-api"
    annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}
tasks.named('test') {
    useJUnitPlatform()
}
clean {
    delete file('src/main/generated')
}  
image

 

image

 

image

 

교안에 나온 대로 설정해 준 상태인데 현재 q타입 클래스는 생성 되었지만 intellij가 이를 정상적인 클래스로 인식하지 못해서 QHello를 import하지 못하고 있는 상황입니다

답변 2

0

안녕하세요. 김신영님, 공식 서포터즈 David입니다.

File - Project Structure - Modules 들어가신 후 우측 source folders 항목에서 build/generated/sources~ 이하 경로가 포함되어 있으실까요? 없다면 추가 후 다시 시도해 보시겠어요?

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김신영님이 겪고 계신 문제는 IntelliJ가 QueryDSL로 생성된 Q 타입 클래스를 올바르게 인식하지 못하는 상황으로 보입니다. 이 문제는 종종 IntelliJ의 설정이나 Gradle 빌드 설정으로 인해 발생할 수 있습니다.

우선, 여러 게시글을 통해 제안된 해결 방법을 안내드리겠습니다.

  1. Annotation Processing 활성화 확인:

    • IntelliJ IDEA에서 Settings > Build, Execution, Deployment > Compiler > Annotation Processors로 이동하여 Enable annotation processing이 체크되어 있는지 확인하세요. 이 옵션이 활성화되어야 QueryDSL의 Q타입 클래스가 제대로 인식됩니다.
  2. Gradle 빌드 설정 검토:

    • 설정된 소스 디렉토리가 제대로 추가되었는지 확인하세요. Q타입 클래스를 사용하기 위해서는 build.gradle에 생성된 소스를 올바르게 포함시켜야 합니다.
    sourceSets {
       main {
           java {
               srcDirs += 'build/generated/sources/annotationProcessor/java/main'
           }
       }
    }
    
  3. 프로젝트 살리기:

    • 가끔 IntelliJ의 인덱싱 문제로 이러한 오류가 발생합니다. 프로젝트 창에서 폴더를 우클릭하여 Reimport Gradle Project를 수행하거나, IntelliJ를 완전히 재시작한 후 다시 확인해 보세요.
  4. 유사한 해결 사례:

각 링크를 클릭하여 해결 방법의 세부 내용을 확인하고 따라해 보시기 바랍니다. 이 내용들이 도움이 되길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기