Spring-Data-JPA용 setMaxResults 주석
강력한 JPA 저장소 추상화 라이브러리인 Spring-Data-JPA는 Spring에서 데이터 액세스를 단순화합니다. 기반의 Java 애플리케이션. 그러나 주석을 사용하여 쿼리에서 반환되는 최대 결과 수를 설정하는 것은 어려운 일이었습니다.
Spring Data JPA 1.7.0(Evans Release Train) 솔루션
In Spring Data JPA 1.7.0 이상에서는 상황이 개선되었습니다. 이제 Top 및 First 키워드를 사용하여 쿼리 결과를 제한할 수 있습니다. 예를 들어:
findTop10ByLastnameOrderByFirstnameAsc(String lastname);
Spring Data는 반환되는 결과 수를 지정된 수로 자동으로 제한합니다(생략할 경우 기본값은 1). OrderBy 절이나 메서드의 Sort 매개변수를 통해 결과 순서를 지정하는 것이 중요합니다.
Spring Data JPA 1.7.0 이전
이 개선 이전에는 데이터 조각을 검색하려면 페이지 매김을 사용해야 했습니다. Spring Data는 페이지 매김 요청을 위해 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); }
클라이언트 코드는 이 정보를 활용할 수 있습니다.
Pageable topTen = new PageRequest(0, 10); Page<User> result = repository.findByUsername("Matthews", topTen); Assert.assertThat(result.isFirstPage(), is(true));
Page를 반환으로 사용 유형은 총 요소 수를 결정하기 위해 개수 프로젝션 쿼리 실행을 트리거합니다. 또한 안정적인 결과를 보장하려면 항상 PageRequest에 정렬 정보를 포함하세요.
위 내용은 Spring Data JPA에서 주석으로 쿼리 결과를 제한하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!