[querydsl] Q-Type 및

Welcome to Seoyun Dev Log·2023년 4월 21일
0

JPA

목록 보기
3/15

Q-Type 활용

Q 타입을 생성하여 사용하는 방법은 2가지가 있다
querydsl은 결국 JPQL의 빌더이다.

    1. 별칭을 직접 지정: QMember qMember = new QMember("m");
    1. 기본 인스턴스 사용: QMember qMember = QMember.member;
    1. static import로 사용하는 방법:
Member resultFindMember = jpaQueryFactory
                .selectFrom(QMember.member)
                .from(QMember.member)
                .where(QMember.member.username.eq("member1"))
                .fetchOne();

static 임포트 처리

import static study.querydslpractice.entity.QMember.member;

 Member resultFindMember = jpaQueryFactory
                .selectFrom(member)
                .from(member)
                .where(member.username.eq("member1"))
                .fetchOne();

Querydsl 설정 추가

설정을 추가하면 실행되는 JPQL을 볼 수 있다.

spring:
  jpa:
    hibernate:
      use_sql_comments: true
  • member1로 설정되어 있는 것을 확인할 수 있다.
    QMember를 만들때 별칭을 member1로 자동 설정되도록 했기 때문이다.
    이때 만약 별칭을 변경하여 사용하고 싶은 경우
    QMember qMember = new QMember("m"); 방식으로 생성하면
    m으로 쿼리가 나오게 된다
    🚩 같은 테이블을 join하여 사용하는 경우에 선언해서 사용하고 일반적으로는 사용하지 않는다

/* select member1
from Member member1
where member1.username = ?1 */

select member0_.member_id as member_i1_1_, member0_.age as age2_1_, member0_.team_id as team_id4_1_, member0_.username as username3_1_ from t_member member0_ where member0_.username=?
profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글