SpringBoot

Query DSL 적용하기

skawlsgus2 2024. 10. 4. 11:55

1. config

1) build.gradle 에 dependencies 추가하고 코끼리 아이콘 클릭

dependencies {
    // querydsl 추가
    implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
    annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
    annotationProcessor "jakarta.annotation:jakarta.annotation-api"
    annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}

 

2) config 클래스 추가

@Configuration
class QueryDslConfig {

    @PersistenceContext
    private EntityManager em;

    @Bean
    public JPAQueryFactory jpaQueryFactory() {
        return new JPAQueryFactory(JPQLTemplates.DEFAULT, em);
    }
}

3) build (더블클릭) -> Q클래스 만들어짐(엔터티에 한해서)

2. DSLrepository 인터페이스 추가 및 구현

1) DSLRepository 추가 

2) 구현체 클래스 작성

3) 기존 Repository(TodoRepository)  에서 작성한 DSLRepository 상속 받기