TIL
QueryDSL
개발 일지
2024. 6. 10. 20:20
✔오늘 배운 중요한 🔑 point
- QueryDSL은 직관적이고 효율적으로 복잡한 쿼리를 작성하고 싶을때 사용한다
- QClass는 QueryDSL에서 쿼리를 타입 안전하게 작성하기 위해 사용하는 메타 모델 클래스이며 각 JPA 엔티티에 대응하는 QClass가 자동으로 생성된다
🎯 오늘 배운 내용
QueryDSL이란?
QueryDSL은 타입 안전하고, 직관적인 쿼리 작성 방식을 제공하는 라이브러리입니다
QueryDSL 설정 방법
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("kapt") version "1.8.22"
}
val queryDslVersion = "5.0.0"
dependencies {
implementation("com.querydsl:querydsl-jpa:$queryDslVersion:jakarta")
kapt("com.querydsl:querydsl-apt:$queryDslVersion:jakarta")
}
kapt (Kotlin Annotation Processing Tool)은 Annotation들을 분석하여 QueryDSL에 알려주어 QClass들을 사용할 수 있게 만드는 역할이다
QClass란?
Class는 QueryDSL에서 쿼리를 타입 안전하게 작성하기 위해 사용하는 메타 모델 클래스이다. 각 JPA 엔티티에 대응하는 QClass가 자동으로 생성되며, 이 클래스는 해당 엔티티의 필드에 접근하는 타입 안전한 방법을 제공한다.
🤔 어떻게 활용할까?
QueryDSL을 활용해서 복잡한 쿼리에 대해서 직접 작성이 가능하게 되었다
📓 오늘의 한줄
"The man who knows when to rest is able to go twice as far."
- Theodore Roosevelt -