복붙노트

[SPRING] Sort와 Pageable로 Spring 데이터 JPA를 사용하여 데이터를 쿼리하는 방법은 무엇입니까?

SPRING

Sort와 Pageable로 Spring 데이터 JPA를 사용하여 데이터를 쿼리하는 방법은 무엇입니까?

내 프로젝트에서 Spring 데이터 JPA를 시도하고있다. Sortable과 Pageable을 사용하여 데이터를 쿼리 할 수있는 out-of-the-box API가 있는지 알고 싶습니다. 물론, 나는 그 방법을 직접 쓸 수 있다는 것을 알고있다. 나는 단지 out-of-the-box가 있는지 알고 싶다. 내 DAO는 JpaRepository를 확장하며 호출 할 수있는 다음과 같은 메소드가 있음을 발견했습니다.

findAll();
findAll(Pageable pageable);
findAll(Sort sort);

findAll (Sort sort, Pageable pageable)과 같은 메소드가 없으므로 궁금합니다.

해결법

  1. ==============================

    1.이를 달성하는 데는 두 가지 방법이 있습니다.

    이를 달성하는 데는 두 가지 방법이 있습니다.

    final PageRequest page1 = new PageRequest(
      0, 20, Direction.ASC, "lastName", "salary"
    );
    
    final PageRequest page2 = new PageRequest(
      0, 20, new Sort(
        new Order(Direction.ASC, "lastName"), 
        new Order(Direction.DESC, "salary")
      )
    );
    
    dao.findAll(page1);
    

    두 번째 양식은 모든 속성 (lastName ASC, salary DESC)에 대해 다른 방향을 정의 할 수 있으므로보다 유연합니다.

  2. ==============================

    2.Pageable에는 정렬도 지정할 수있는 옵션이 있습니다. 자바 문서에서

    Pageable에는 정렬도 지정할 수있는 옵션이 있습니다. 자바 문서에서

    PageRequest(int page, int size, Sort.Direction direction, String... properties) 
    

    소트 파라미터가 적용된 새로운 PageRequest를 작성합니다.

  3. from https://stackoverflow.com/questions/10527124/how-to-query-data-out-of-the-box-using-spring-data-jpa-by-both-sort-and-pageable by cc-by-sa and MIT license