Spring-Data-JPA で setMaxResults アノテーションを使用する方法
あなたの質問は、クエリ メソッドによって返される結果の最大数の設定に関するものですSpring-Data-JPA ではアノテーションを使用します。
ソリューション
Spring Data JPA 1.7.0 (Evans リリース トレイン) では Top キーワードと First キーワードが導入されているため、次のように定義できます。次のようなクエリ メソッド:
findTop10ByLastnameOrderByFirstnameAsc(String lastname);
Spring Data は、結果を指定された数に自動的に制限します (省略された場合のデフォルトは 1)。この場合、結果の順序が重要になることに注意してください。
以前のバージョン
以前のバージョンでは、Spring Data はデータ スライスの取得にページネーション抽象化を使用していました。使用方法は次のとおりです:
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 を使用することに注意してください。要素の合計数を決定するためにカウント投影をトリガーします。
以上がSpring-Data-JPA クエリ メソッドで結果を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。