티스토리 뷰

Querydsl Settings

Spring boot with Querydsl 세팅을 해보겠습니다.

개발환경

  • spring boot 2.3

  • querydsl

  • h2

  • build.gradle

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

dependencies {
    ...
    ...
    implementation 'com.querydsl:querydsl-jpa'
}

Querydsl 플러그인 설정을 해봅니다.

  • build.gradle
// 맨 하단에 적으면 된다.
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
    jpa = true
    querydslSourcesDir = querydslDir
}
sourceSets {
    main.java.srcDir querydslDir
}
configurations {
    querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}

이제 Querydsl 에서 가장 중요한 QClass를 생성해야 합니다.

  1. 검증용 Q타입 생성

    1. gradle IntelliJ 사용법

      • GradleTasksbuildclean

      • GradleTasksotherscompileQuerydsl

         

         

  2. Q 타입 클래스 생성 확인

    1. build → generated → querydsl
  3. Test Code 로 검증

@SpringBootTest
@Transactional
public class QuerydslApplicationTests {

    @Autowired
    EntityManager em;

    @Test
    void contextLoads() {
        Account account = new Account();
        em.persist(account);

        JPAQueryFactory query = new JPAQueryFactory(em);
        QAccount qAccount = QAccount.account;   // Querydsl Q타입 동작확인

        Account result = query
                .selectFrom(qAccount)
                .fetchOne();

        Assertions.assertThat(result).isEqualTo(account);
        // lombok 동작 확인
        Assertions.assertThat(result.getId()).isEqualTo(account.getId());
    }
}

Querydsl 라이브러리

  • querydsl-apt : Querydsl 관련 코드 생성 기능 제공
  • querydsl-jpa : querydsl 라이브러리

References

Spring Boot + JPA + Querydsl 적용하기

Spring Boot Data Jpa 프로젝트에 Querydsl 적용하기

'Dev > Spring Data' 카테고리의 다른 글

[Querydsl] 4. 예제용 도메인 생성  (0) 2021.01.19
[Querydsl] 3. JPA yml 설정  (0) 2021.01.19
[Querydsl] 2. H2 Database  (0) 2021.01.19
[Querydsl] 1. Querydsl 설정하기  (0) 2021.01.19
BooleanExpression 다이나믹 쿼리  (0) 2020.08.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함