be_better

[Springboot] QueryDSL 설정 gradle 본문

Springboot/이론

[Springboot] QueryDSL 설정 gradle

NiceTry 2023. 11. 12. 20:07

목차

    build.gradle 수정

    코드 맨 위 queryDslVersion 추가

    buildscript {
        ext {
            queryDslVersion = "5.0.0"
        }
    }

     

    plugin 추가

    plugins {
        id 'java'
        id 'org.springframework.boot' version '2.7.17'
        id 'io.spring.dependency-management' version '1.0.15.RELEASE'
        // querydsl 플러그인 추가
        id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
    }

     

    configurations 확인

    configurations {
        compileOnly {
            extendsFrom annotationProcessor
        }
    }

     

    dependencies 추가

    dependencies {
    
        // queryDSL 설정
        implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
        implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
    
    }

     

    제일 아래 줄에 QueryDSL 설정 추가

    //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 추가 끝

     

    Preferences 설정

    [Settings] - [Build, Execution, Deployment] - [Compiler] - [Annotation Processors] 에서

    Enable annotation processing 체크박스 체크

     

    gradle 수정이 끝났다면 build한다음 오른쪽 gradle 탭에서 compileQuerydsl을 실행하면

    build/generated/querydsl 안에 Qdomain 클래스가 생성된 것을 확인할 수 있다.

    gradle 탭에 compileQuerydsl
    Qdomain 클래스 생성 확인