[Spring] Querydsl 적용하기

eugene.yi·2023년 1월 11일
0

개발환경
Java8
Springboot 2.7.4
Gradle 6.8.3

1. build.gradle 설정

/** queryDsl **/ ~ /** //queryDsl **/ 사이의 코드를 추가한다.

/** queryDsl **/
buildscript{
	ext{
		queryDslVersion = "5.0.0"
	}
}
/** //queryDsl **/

plugins {
	id 'org.springframework.boot' version '2.7.4'
	id 'io.spring.dependency-management' version '1.0.14.RELEASE'
	id 'java'
	/** queryDsl **/
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
    /** //queryDsl **/
}

...

/** queryDsl **/
configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}
 /** //queryDsl **/
 
repositories {
	mavenCentral()
}

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
}
//build시 사용할 sourceSet 추가
sourceSets {
	main.java.srcDir querydslDir
}
//querydsl 컴파일시 사용할 옵션 설정
compileQuerydsl {
	options.annotationProcessorPath = configurations.querydsl
}
//querydsl이 compileClassPath를 상속하도록 설정
configurations {
	querydsl.extendsFrom compileClasspath
}

/** //queryDsl **/
...

2. Gradle을 reload 한다.

3. Gradle > Tasks > other > compileQuerydsl 실행.

4. querydslDir 에 정의한 위치에 QClass가 생긴 것을 확인할 수 있다.

0개의 댓글