실전! Querydsl

Ch02. 기본 문법 - 검색 조건 쿼리, 결과 조회

webmaster 2021. 12. 30. 11:45
728x90

검색조건으로 사용할 수 있는 것들

여러 검색조건 체인

where 검색조건
And 같은경우 ,를 통해 생략이 가능하다.

  • 여러 가지 검색조건을 메서드 체인으로 and/or로 걸 수 있다.

추가

  •  p6 spy 로깅 시에 파라미터 값이 null이 되는 이슈를 커뮤니티에서 발견했다,
  • 그리고 실제로 찍어보니 NULL값이 찍히는 것이었다.
/* select member1
from Member member1
where member1.age not in 201 */
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 member member0_ 
where member0_.age not in  (30 , 40 , NULL);
  • 후에 문제점을 살펴보니 주석으로 실행된 쿼리의?를 p6spy가 치환하여 발생한 것이었다.

출처 : https://www.inflearn.com/questions/78776

 

p6spy 로깅 시에 파라미터 값이 NULL 이 되는 이슈. - 인프런 | 질문 & 답변

안녕하세요. 김영한 강사님^^여러 Querydsl 조건연산  메서드 호출 예제 Test 도중 다음과 같이 NULL 이 찍히는 현상을 발견했습니다. Querydsl : member.age.notIn(20, 30, 40)p6spy : m.age not ...

www.inflearn.com

결과 조회

결과 조회

  • fetch() : 리스트 조회, 데이터 없으면 빈 리스트 반환
  • fetchOne() : 단 건 조회
    • 결과가 없으면 : null
    • 결과가 둘 이상이면 : com.querydsl.core.NonUniqueResultException
  • fetchFirst() : limit(1). fetchOne()
  • fetchResults() : 페이징 정보 포함, total count 쿼리 추가 실행
  • fetchCount() : count 쿼리로 변경해서 count 수 조회

 

728x90