Spring

[Spring Boot] Querydsl 초기 세팅 (Gradle, Querydsl 5.0.0)

주인장 지니 2023. 7. 31. 14:16
728x90
728x90

Querydsl 5.0.0 버전 세팅 방법

Querydsl 초기 세팅을 해주던 도중 버전이 맞지 않아 기존의 세팅 방식을 적용하면 에러가 발생하였다.

현재 나의 프로젝트 버전은 'org.springframework.boot-2.7.14', 'Gradle-8.2.1'이고 Querydsl은 5.0.0 버전을 사용하고자 하였다. 

 

build.gradle 파일 세팅

//querydsl 버전 정보 추가
buildscript {
    ext {
        queryDslVersion = "5.0.0"
    }
}

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.14'
    id 'io.spring.dependency-management' version '1.1.2'
    //querydsl 추가
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

group = 'study'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '11'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    //querydsl 추가
    implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
    implementation "com.querydsl:querydsl-apt:${queryDslVersion}"

    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.h2database:h2'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
    jpa = true
    querydslSourcesDir = querydslDir
}
sourceSets {
    main.java.srcDir querydslDir
}
compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}
configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
    querydsl.extendsFrom compileClasspath
}
//querydsl 추가 끝

 

세팅을 해준 후 compileQuerydsl을 실행해주면,

build/generated/querydsl 아래에 QClass가 생성됩니다.


Reference

  • 인프런 김영한 - 실전! Querydsl
728x90
728x90