Querydsl 사용하는 이유

data jpa의 @Query로는 다양한 조회 기능 사용에 한계가 존재

->해결 하기 위해 정적 타입을 지원하는 가장 유명한 조회 프레임워크 Querydsl 사용

동적 쿼리 작성이 편리

1. build.gradle 수정

 

plugin 블럭에 추가

id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"

dependencies 블럭에 추가

 implementation 'com.querydsl:querydsl-jpa'

querydsl 설정 부분 블럭으로 추가

//querydsl설정

def querydslDir = "$buildDir/generated/querydsl"

querydsl {
    jpa = true
    querydslSourcesDir = querydslDir
}

sourceSets {
    main.java.srcDir querydslDir
}

configurations {
    querydsl.extendsFrom compileClasspath
}

compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}

2. configuration 추가

이 설정을 통해 jpaQueryFactory를 프로젝트 어느 곳에서나 주입받아 사용 가능

@Configuration
public class QuerydslConfiguration {
    @PersistenceContext
    private EntityManager entityManager;

    @Bean
    public JPAQueryFactory jpaQueryFactory(){
        return new JPAQueryFactory(entityManager);
    }

}

 

참고 사이트

https://hello-gg.tistory.com/62

https://jojoldu.tistory.com/372

 

 

 

+ Recent posts