SQL과 유사한 JPQL (Java PErsistence Query Language) 라는 객체지향 쿼리 언어를 통해 복잡한 쿼리 처리를 지원
기존의 SQL문을 사용할 수 있도록 지원하는 @Query 어노테이션의 속성
SQL 쿼리문을 문자열이 아닌 소스코드로 작성하도록 지원하는 빌더 API(프레임워크)
| 메소드 | 기능 |
|---|---|
| List fetch() | 조회 결과 리스트 반환 |
| T fetchOne() | 조회 결과 대상이 1건인 경우 |
| T fetchFirst() | 조회 대상 중 1건만 반환 |
| Long fetchCount() | 조회 대상 개수 반환 |
| QueryResult fetchResults() | 조회한 리스트와 전체 개수 반환 |
쿼리문의 where 조건문을 메소드로 정의해놓은 것
public interface Repository extends JpaRepository<Item, Long>,
QuerydslPredicateExecutor{
| 메소드 | 기능 |
|---|---|
| long count(Predicate) | 데이터의 총 개수 반환 |
| boolean exists(Predicate) | 데이터 존재 여부 반환 |
| Iterable findAll(Predicate) | 모든 데이터 반환 |
| Page findAll(Predicate, Pageable) | 조건에 맞는 페이지 데이터 반환 |
| Iterable findAll(Predicate, Sort) | 정렬된 데이터 반환 |
| T findOne(Predicate) | 조건에 맞는 데이터 1개 반환 |