ホームページ  >  記事  >  Java  >  Spring-Data-JPA クエリ メソッドで結果を制限するにはどうすればよいですか?

Spring-Data-JPA クエリ メソッドで結果を制限するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 02:42:02932ブラウズ

How to Limit Results in Spring-Data-JPA Query Methods?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。