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

Mary-Kate Olsen
リリース: 2024-10-28 02:42:02
オリジナル
946 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!