JPA

Q클래스 인스턴스 사용 방법 두가지

쿠카이든 2022. 2. 14. 12:16
728x90
  • (JPA - Querydsl) Q클래스 인스턴스를 사용하는 방법에는 두 가지가 있습니다.
  QMember qMember = new QMember("m"); //별칭 직접 지정 (As-is)
  QMember qMember = QMember.member; //기본 인스턴스 사용 (To-be)
  • 별칭 직접 지정 (As-is) 방법
@Test
public void startQuerydsl2() {
    QMember m = new QMember("m");
    Member findMember = queryFactory
        .select(m)
        .from(m)
        .where(m.username.eq("member1"))
        .fetchOne();
    assertThat(findMember.getUsername()).isEqualTo("member1");
}
  • 기본 인스턴스를 static import와 함께 사용 (To-be)
    • 인자를 m 대신 member로 받음으로써, 좀 더 직관적으로 읽기가 가능해집니다. → 권장
import static study.querydsl.entity.QMember.*;

@Test
public void startQuerydsl3() {
    Member findMember = queryFactory
        .select(member)
        .from(member)
        .where(member.username.eq("member1"))
        .fetchOne();
    assertThat(findMember.getUsername()).isEqualTo("member1");
}
728x90