스프링 부트/코틀린
[코틀린] QueryDSL 초기 설정법
illlilillil
2022. 3. 11. 18:48
build.gradle 설정은 이렇게 해주세요.
주석에 기본 설정이랑 추가 설정 QueryDsl정도만 보시면 될 거 같습니다.
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.5.10"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.5.32"
kotlin("plugin.spring") version "1.5.32"
//기본 설정 추가
kotlin("plugin.allopen") version "1.5.32"
kotlin("kapt") version "1.5.32"
kotlin("plugin.noarg") version "1.5.32"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8
val qeurydslVersion = "4.4.0" // <= 추가 설정
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
//코틀린 관련
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
//직렬화 플러그인
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.0")
// QueryDSL
implementation("com.querydsl:querydsl-jpa:$qeurydslVersion")
kapt("com.querydsl:querydsl-apt:$qeurydslVersion:jpa")
kapt("org.springframework.boot:spring-boot-configuration-processor")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
compileOnly("org.projectlombok:lombok")
runtimeOnly("org.postgresql:postgresql")
annotationProcessor("org.projectlombok:lombok")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
코끼리 한 번 눌러준다.
QClass 생성
차례로 한 번씩 누르면 QClass가 생성된다.
엔티티를 추가하거나 삭제됐을때에도 아래 루틴을 한 번씩 추가로 실행해야 한다.
Gradle - build- clean
Gradle - other - compilieKotlin
QClass 확인
kapt 플러그인을 사용했기 때문에 kapt 폴더 안에 생성된 것을 확인할 수 있다.