스프링 공부/게시판 프로젝트 만들기

[스프링] 19. QueryDsl 넣어주기

장아장 2023. 2. 5. 14:16

실질적으로 지난 블로그 공백기(!) 중에 제일 공부하기 잘했다고 생각이 드는, queryDsl을 설정해줄 것이다. 

 

일단 build.gradle에 이러한 의존성과, 설정 주입을 해주어야 한다. 

buildscript {
   ext {
      queryDslVersion = "5.0.0"
   }
}

plugins {
   id 'java'
   id 'org.springframework.boot' version '2.7.0'
   id 'io.spring.dependency-management' version '1.0.11.RELEASE'
   id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

제일 위에 queryDslVersion을 적어주고, plugins에 마지막줄에 queryDsl을 넣어주었다.

 

이후 dependencies의 마지막에 queryDsl에 대한 의존성 주입을 추가해주었다. 

implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"

위의 줄은 queryDsl라이브러리를 만들어주고, 아랫줄은 queryDsl와 관련된 코드들을 만들어준다. 

 

def querydslDir = "$buildDir/generated/querydsl"

querydsl {
   jpa = true
   querydslSourcesDir = querydslDir
}

sourceSets {
   main.java.srcDir querydslDir
}

configurations {
   querydsl.extendsFrom compileClasspath
}

compileQuerydsl {
   options.annotationProcessorPath = configurations.querydsl
}

이후 제일 마지막에 이렇게 queryDsl관련 설정을 넣어주었다. 

 

이렇게 한 후, build.gradle을 다시 실행시키고, 

여기에 있는 compileQuerydsl을 실행시켰다. 

그러면 이렇게, querydslDir에 작성한 주소에 엔티티의 이름에 Q가 들어있는, queryDsl용 클래스들이 생성된다. 

 

이제 이걸 써먹어서, 전의 전편에서 했던 노가다를 깨끗하게 만들어주겠다.