StayB 클론코딩 회고2 - 211115

박건희·2021년 11월 15일
0

팀원의 QueryDSL 파트 작업에 대한 질문-답변 내용

Q1) ModelAttribute 사용 이유

QueryParameter 여러개를 Get 방식으로 받는 쿼리여서 RequestBody는 안됨.
QueryParameter의 개수가 동적이어서 RequestParam 방식도 안됨.
RequestParam 조합마다 endpoint를 만드는 것은 지양해야 할 방법.
결론 : QueryDSL 장점 2인 동적 쿼리에 적합한 것이 ModelAttribute이다.

Querydsl: 소개와 사용법

참고로 ModelAttribute는 @Controller - data를 view에 mapping 하기 위해 사용하기도 한다.
ModelAttribute의 여러가지 사용법

Q2) QueryDSL 사용 이유

조건이 많은 검색인 경우 custom query(native query - @Query)를 만드는 것보다, QueryDSL을 사용하는 것이 좋다.

  • 장점 1. 조건이 많은 쿼리문을 직접 작성하면 문법적 오류가 발생할 확률이 높아지는데 이를 방지(컴파일 타임에서 알게됨)
  • 장점 2. 동적 쿼리
    • 전달되는 파라미터가 없어서 where절에 null이 들어가면 해당 조건은 생략된다.

0개의 댓글