동적 쿼리
?
:같은 기능
을 하지만동적으로 들어오는 파라미터
에 의해조건
이바뀌게 설계
되는 쿼리
ex)검색 기능
구현시값
이 없으면전체 정보
, 있으면맞는 정보
를 반환
- 방법
순수 JPQL
Criteria
QueryDSL
- 살펴 볼 예시
:Member.name
과Order.status
정보에 따른검색 기능
데이터가 반드시 넘어온다면
이렇게 처리할 수 있음
데이터가 null값으로 넘어오는 경우
에는동적 쿼리
로 작성해야 함
jpql
을문자열
로 만든 뒤조건
에 따라jpql
에string
을추가
하는 방식
-->jpql
에띄어쓰기 하나
라도 틀리면오류
발생
isFirstCondition
변수로 각각 null값인지 검사하면 첫번째 조건인지 확인
Criteria
는Spring의 표준 스펙
이지만실무에서 사용 X
사용성
이복잡
해서어떤 쿼리
가 나가는지 도무지파악 X
- 자세한
QueryDSL
은 뒤에서 다루겠지만 확실히가시성
과사용성
이 좋아보임