querydsl 검색 조건 쿼리
기본 검색 쿼리
- 검색 조건은 .and()와 .or()를 메서드 체인으로 연결할 수 있다.
- select(entity).from(entity)은 selectFrom()으로 합칠 수 있다.
- JPQL이 제공하는 모든 검색 조건을 제공한다. - querydsl 자체가 JPQL의 builder이기 때문
- eq() : equals(==)
- ne() : not equals(!=)
- eq().not() : not equals(!=)
- isNotNull()
- in()
- notIn()
- between(from, to) : from <= x <= to
- goe() : greater or equals than a
- gt() : greater than
- loe() : lower or equals than
- lt() : lower than
- like()
- contains(a) :
like '%a%'
- startsWith(a) :
like '%a'
AND 조건을 파라미터로 처리
- where()에 파라미터로 검색조건을 추가하면 AND 조건이 추가됨
- where() 메서드는 파라미터를 Predicate… 로 받기 때문
public Q where(Predicate o) { return queryMixin.where(o); } public Q where(Predicate... o) { return queryMixin.where(o); }
- 이러한 경우 null은 무시되어 메서드 추출 방식을 사용하여 동적 쿼리를 깔끔하게 만들 수 있음
댓글남기기