Spring/Querydsl

Querydsl 설정하는법(Spring Boot 3.5.3 + Java 21 기준)

manlubo 2025. 7. 23. 15:51
반응형

✅ QueryDSL 설정 

🔸 의존성 설정

// JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa:3.5.3'

// QueryDSL - Jakarta 버전 (Spring Boot 3.x 대응)
implementation "com.querydsl:querydsl-jpa:5.1.0:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:5.1.0:jakarta"

// Jakarta 어노테이션 API (Q타입 생성 시 필요)
annotationProcessor 'jakarta.persistence:jakarta.persistence-api:3.1.0'

🔸 configurations 설정

configurations {
  compileOnly {
    extendsFrom annotationProcessor
  }
}

🔸 Q클래스 생성 디렉토리 설정

def generated = layout.buildDirectory.dir("generated/querydsl").get().asFile

sourceSets {
  main {
    java {
      srcDirs += [generated]
    }
  }
}

tasks.withType(JavaCompile) {
  options.getGeneratedSourceOutputDirectory().set(generated)
}

📌 결과 확인 방법

./gradlew clean build
  • build/generated/querydsl 경로에 Q타입 클래스가 생성되면 성공
  • IntelliJ에서는 해당 폴더를 "Generated Sources Root"로 자동 인식하거나 수동 지정 가능