본문 바로가기
공부/Spring

QueryDSL을 적용해보자

by JERO__ 2022. 8. 26.

Querydsl 이란?

쿼리를 자바코드로 작성할 수 있다. 또한, Spring Data JPA로 해결하지 못하는 복잡한 쿼리/동적 쿼리를 해결할 수 있다.

Querydsl 왜 사용할까?

  • 쿼리-를 자바 코드로 작성할 수 있다.
  • 문법 오류를 컴파일 시점에 알 수 있다.

dependency 설정방법 (gradle)

  1. 플러그인에 추가
plugins {
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
  1. dependencies에 추가
dependencies {
	implementation 'com.querydsl:querydsl-jpa'
}
  1. 추가
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
   library = "com.querydsl:querydsl-apt"
   jpa = true
   querydslSourcesDir = querydslDir
}

sourceSets {
   main {
      java {
         srcDirs = ['src/main/java', querydslDir]
      }
   }
}

compileQuerydsl{
   options.annotationProcessorPath = configurations.querydsl
}

configurations {
   querydsl.extendsFrom compileClasspath
}

적용되었는지 확인해보자

  1. 오른쪽 Gradle - other - complieQuerydsl
  2. build - generated - querydsl에 추가된 파일 확인
  • ./gradlew clean : 빌드 패키지 정리
  • ./gradlew compileQuerydsl

추가된 파일들은 git에 올리면 안된다. 보통 build 파일을 올리지 않기 때문에 함께 올려지지 않는다.

 

댓글