Spring Data JPA 1.7.0 이전 버전에서는 제한이 불가능했습니다. setMaxResults를 사용하여 주석이 달린 쿼리 메서드에서 반환된 결과 수입니다. 그러나 이 기능은 Spring Data JPA 1.7.0에서 도입되었습니다.
Spring Data JPA 1.7의 새로운 기능 .0(Evans 릴리스 트레인)에서는 새로 도입된 Top 및 First 키워드를 사용하여 결과를 자동으로 제한하는 쿼리 방법을 정의할 수 있습니다. 예:
findTop10ByLastnameOrderByFirstnameAsc(String lastname);
Spring Data는 자동으로 결과를 정의한 숫자로 제한합니다(생략할 경우 기본값은 1). 여기서는 예제에서 볼 수 있는 OrderBy 절을 사용하거나 Sort 매개변수를 메서드에 전달하여 결과의 순서를 지정합니다.
Spring Data JPA 1.7.0 이전 버전에서는 요청 측에서는 Pageable 인터페이스를 사용하고 결과 측에서는 페이지 추상화를 사용하여 페이지 매김을 처리했습니다. 예는 다음과 같습니다.
public interface UserRepository extends Repository<User, Long> { List<User> findByUsername(String username, Pageable pageable); }
이 인터페이스를 다음과 같이 사용할 수 있습니다.
Pageable topTen = new PageRequest(0, 10); List<User> result = repository.findByUsername("Matthews", topTen);
결과에 대한 추가 정보가 필요한 경우(예: 페이지 수 또는 페이지 수 등) 총합) Page를 반환 유형으로 사용합니다.
public interface UserRepository extends Repository<User, Long> { Page<User> findByUsername(String username, Pageable pageable); }
이렇게 하면 총 요소 수를 결정하기 위해 실행할 쿼리의 개수 예측이 트리거됩니다.
위 내용은 Spring Data JPA에서 쿼리 결과를 제한하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!