◆ ORM/Querydsl
[QueryDSL] 💥설정
쿠키린
2024. 7. 24. 15:32
현재 페이지 : bulid.gradle
Spring Boot 2.x.x 버전 (설정)
plugins{
id "com.ewerk.gradle.plugins.querydsl" version"1.0.10"
}
dependencies {
...
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
...
}
두개 다 기입한 후 Import 누르면
Tasks - other - compileQuerydsl이 생성된걸 볼 수 있다.
더블클릭 하면
이렇게 QHello가 생성된다.
마지막으로 맨 아래에다가 추가해주자 ( 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 추가 끝
💡SpringBoot 3.x.x 버전 (설정)
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
//test 롬복 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//Querydsl 추가
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
def querydslSrcDir = 'src/main/generated'
clean {
delete file(querydslSrcDir)
}
tasks.withType(JavaCompile) {
options.generatedSourceOutputDirectory = file(querydslSrcDir)
}
🔽
tasks.withType(JavaCompile)을 하고나면 build 안에 annotationProcessor 가 생성x.
-> src/main/generated 에 생성
💥경로 인식 해결