[SpringBoot] 스프링부트 3.x 에서 Querydsl 설정하기
- 웹/Spring Boot
- 2024. 2. 20.
반응형
코틀린을 스프링 부트 프로젝트를 사용할 때 QueryDSL을 사용할 떄 2.x 와 조금 다른 부분이 있어 정리합니다.
▼ QueryDSL 플러그인 설정을 해줍니다.
plugins {
id("org.springframework.boot") version "3.0.6"
id("io.spring.dependency-management") version "1.1.0"
kotlin("jvm") version "1.7.22"
kotlin("plugin.spring") version "1.7.22"
// querydsl
kotlin("plugin.jpa") version "1.8.21"
kotlin("plugin.allopen") version "1.8.21"
kotlin("kapt") version "1.8.21"
idea
}
▼ Kotlin은 기본적으로 클래스와 멤버 함수 등이 기본적으로 final로 선언되어 다른 클래스에서 상속하거나 오버라이드할 수 없습니다. 그러나 특정 프레임워크나 라이브러리에서 코드 생성 및 리플렉션을 위해 클래스나 함수를 열어두어야 할 때가 있습니다. 이때 allOpen 어노테이션을 사용하여 해당 클래스나 함수 등을 열어두면 됩니다.
allOpen {
annotation("javax.persistence.Entity")
annotation("javax.persistence.MappedSuperclass")
annotation("javax.persistence.Embeddable")
}
▼ 다음과 같이 QueryDSL 디펜던시를 설정합니다.
dependencies {
...
// QueryDSL 설정
implementation ("com.querydsl:querydsl-jpa:5.0.0:jakarta")
kapt ("com.querydsl:querydsl-apt:5.0.0:jakarta")
kapt ("jakarta.annotation:jakarta.annotation-api")
kapt ("jakarta.persistence:jakarta.persistence-api")
}
▼ Kotlin의 빌드 도구 중 하나인 kapt(Kotlin Annotation Processing Tool)를 사용하여 애노테이션 프로세싱을 설정하는 Gradle의 Kotlin DSL 코드입니다. 이 코드는 주로 프로젝트에서 애노테이션 프로세서를 사용하는 경우에 활용될 수 있습니다.
idea {
module {
val kaptMain = file("build/generated/source/kapt/main")
sourceDirs.add(kaptMain)
generatedSourceDirs.add(kaptMain)
}
}
반응형
'웹 > Spring Boot' 카테고리의 다른 글
[SpringBoot] 인텔리제이 서버에 jar 파일을 직접 배포하기 (0) | 2023.04.22 |
---|---|
[SpringBoot] H2 Database 데이터베이스 설치 (0) | 2022.09.05 |
[SpringBoot] 스프링부트 프로젝트 도커(Docker) 배포하는 방법 (0) | 2022.07.30 |
[SpringBoot] 스프링부트 JPA - MySQL, MariaDB 설정하기 (0) | 2022.05.07 |
[SpringBoot] 스프링부트 테스트 환경에서 Lombok 사용하기 (0) | 2022.05.07 |