QuerydslV2

Shaun·2022년 11월 27일
1

querydsl

목록 보기
2/4
post-thumbnail

프로젝션 결과 반환

  • 프로젝션 대상이 하나면 타입을 명확하게 지정 가능
  • 프로젝션 두개이상이면 튜플 or DTO로 반환

Querydsl 빈생성(DTO반환)

1.프로퍼티 접근
2.필드 직접 접근
3.생성자 사용

  • jooQ는 fetch 하는 부분에서 DTO.class 를 넣어줬지만 querydsl 에서는 select문 맨 첫번째에 넣어준다

@QueryProjection

  • 컴파일러로 타입 체크할 수 있으므로 가장 안전한 방법이지만 DTO생성자에 애노테이션을 유지해야 한다는 단점과 Q파일 가지 생성해야함

BooleanBuilder

  • jooQ 에서는 SelectOrderByStep<?> conditionStep이런식으로 사용 했다.
  • querydsl 은 BooleanBuilder을 따로 생성해서 조건식을 붙여줌

동적쿼리 -where 다중 파라미터

  • BooleanBuilder와 매우 흡사한 방법이지만 가독성도 훨씬 좋고 코드 재활용성도 높아진다

  • where절에 null 이 나오면 해당값은 무시함

SQL function 호출하기

  • JPA와 같이 Dialect에 이미 등록된 내용만 호출

  • ansi 표준 함수들은 querydsl이 상당부분 내장하고 있어서 그냥 사용하면 됀다.

asni표준 함수란?
-ANSI, American National Standards Institute(미국 표준 협회)가 각기 다른 DBMS(Oracle, MySQL 등)에서 공통적으로 사용할 수 있도록 고안한 표준 SQL문 작성방법입니다.

profile
호주쉐프에서 개발자까지..

0개의 댓글