출처 : https://jddng.tistory.com/334
📌검색 조건 쿼리
- JPQL이 제공하는 검색 조건을 거의 대부분 제공한다.
- SimpleExpression에서 제공하는 검색 조건 메서드 확인 가능
검색 조건 예시
where문에서 AND 조건을 파라미터로 처리가 가능하다.
- where()에 파라미터로 검색조건을 추가하면 AND 조건으로 추가된다.
- 파라미터로 처리 시 null 값이 들어오면 무시한다.
📌결과 조회
- fetch() : 리스트 조회, 데이터 없으면 빈 리스트 반환(null 아니다)
- fetchOne() : 단 건 조회
결과가 없으면 null
결과가 둘 이상이면 NonUniqueResultException 예외 발생
- fetchFirst() : limit(1).fetchOne() 과 같다.
📌정렬
- desc() : 내림차순
- asc() : 올림차순
- nullsLast() : null 데이터 순서 부여(마지막)
- nullsFirst() : null 데이터 순서 부여(처음)
📌페이징
- offset(long offset) : 쿼리 결과에 대한 오프셋을 정의, 0부터 시작
- limit(long limit) : 쿼리 결과에 대한 제한/최대 결과를 정의
📌집합
- count() : 카운트
- sum() : 합
- avg() : 평균
- max() : 최대
- min() : 최소
- groupby() : 그룹화/집계
- having() : 그룹화/집계용 필터
📌서브 쿼리
📌상수, 문자 더하기
- 상수 더하기 - Expressions.constant(xxx)
※ 참고 : 최적화를 위해 가능하면 SQL에 contstant 값을 넘기지 않고 해결하는 것이 좋다.
- 문자 더하기 - concat