-
Notifications
You must be signed in to change notification settings - Fork 0
queryDsl
ryuhoseong edited this page Feb 26, 2021
·
2 revisions
Spring boot & QueryDsl
1. 셋팅
1.1 환경
- Springboot 2.2.2 & Gradle 5.2
1.2 build.gradle
plugins {
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
}
dependencies {
implementation 'com.querydsl:querydsl-jpa'
implementation 'com.querydsl:querydsl-apt'
}
def querydslSrcDir = 'src/main/generated'
configurations {
querydsl.extendsFrom compileClasspath
}
querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslSrcDir
}
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslSrcDir]
}
}
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
gradle 6 이상 https://lteawoo.tistory.com/25
root build.gradle 에 추가 /* Querydsl 프로젝트 리스트 */ def querydslProjects = [ project(":"), project(":") ]
configure(querydslProjects) {
apply plugin: "io.spring.dependency-management"
dependencies {
compile "com.querydsl:querydsl-jpa"
compile "com.querydsl:querydsl-core"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor "jakarta.persistence:jakarta.persistence-api:2.2.3"
annotationProcessor "jakarta.annotation:jakarta.annotation-api:1.3.5"
}
// querydsl 적용
def generated = "$buildDir/main/generated"
/* 클래스 파일을 해당 폴더에 생성 하도록 경로 설정 */
sourceSets {
main.java.srcDirs += [ generated ]
}
tasks.withType(JavaCompile) {
options.annotationProcessorGeneratedSourcesDirectory = file(generated)
}
clean.doLast {
file(generated).deleteDir()
}
}
module project 에 추가 implementation 'com.querydsl:querydsl-jpa'