QueryDSL이란?
SQL과 유사한 구문으로 안전한 쿼리를 생성할 수 있는 광범위한 Java 프레임워크
재 JPA, JDO, SQL, Java 컬렉션, RDF, Lucene, Hibernate Search, MongoDB를 포함한 별도의 모듈을 사용하여 다양한 백엔드를 광범위하게 지원한다.
IDE에서 코드 완성, 리팩토링이 가능하고 , Type-Safe, Syntax-Safe 하다!
QueryDSL 설정을 해 보자!
1. build.gradle 설정 추가
plugins {
id 'org.springframework.boot' version '2.7.1'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" // 이 줄 추가
id 'java'
}
dependencies {
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath // 이 줄 추가!
}
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
compileQuerydsl.doFirst {
if (file(querydslDir).exists()) delete(file(querydslDir))
}
2. gradle-Tasks-other-compileQuerydsl 눌러서 실행
3. 프로젝트 파일-build-generated-querydsl에서 컴파일 결과 확인가능
4. Contiguration 만들어주기
@Configuration
public class QuerydslConfiguration {
@PersistenceContext
private EntityManager entityManager;
@Bean
public JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(entityManager);
}
}
'Spring' 카테고리의 다른 글
MVC2 - Validation (0) | 2022.09.27 |
---|---|
File->MultipartFile (0) | 2022.07.26 |
Reactive Programming (0) | 2022.06.30 |
스프링 핵심 원리 - 기본편(빈 스코프) (0) | 2022.04.28 |
스프링 핵심 원리 - 기본편(빈 생명주기 콜백) (0) | 2022.04.27 |