[SpringBoot/Querydsl] QnA 대댓글 (1) Querydsl 프로젝트 설정
스프링부트 프로젝트에서 Querydsl - jpa 을 사용할 수 있도록 프로젝트 설정을 해봅시다 ~
[ SpringBoot 프로젝트 설정하기 ]
0. Querydsl 공식 문서
Querydsl - Unified Queries for Java
Unified Queries for Java. Querydsl is compact, safe and easy to learn. <!-- Querydsl Unified Queries for Java Querydsl provides a unified querying layer for multiple backends in Java. Compared to the alternatives Querydsl is more compact, safer and easier
querydsl.com
📜 http://querydsl.com/static/querydsl/4.4.0/reference/html_single/
Querydsl Reference Guide
The Java 6 APT annotation processing functionality is used in Querydsl for code generation in the JPA, JDO and Mongodb modules. This section describes various configuration options for the code generation and an alternative to APT usage. 3.3.1. Path initi
querydsl.com
🐈⬛ https://github.com/querydsl/querydsl
GitHub - querydsl/querydsl: Unified Queries for Java
Unified Queries for Java. Contribute to querydsl/querydsl development by creating an account on GitHub.
github.com
1. Build.gradle
...
dependencies {
...
// querydsl
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
implementation 'com.querydsl:querydsl-apt'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor 'jakarta.persistence:jakarta.persistence-api'
annotationProcessor 'jakarta.annotation:jakarta.annotation-api'
}
...
// querydsl
def querydslSrcDir = 'src/main/generated'
sourceSets {
main {
java {
srcDirs += [ querydslSrcDir ]
}
}
}
compileJava {
options.compilerArgs << '-Aquerydsl.generatedAnnotationClass=javax.annotation.Generated'
}
tasks.withType(JavaCompile) {
options.generatedSourceOutputDirectory = file(querydslSrcDir)
}
clean {
delete file(querydslSrcDir)
}
2. Configuration
@Configuration
public class QuerydslConfig {
@PersistenceContext
private EntityManager entityManager;
@Bean
public JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(entityManager);
}
}
💬 준비 완료 !