パッケージ jakarta.data.page

インターフェース PageRequest


public interface PageRequest

クエリ結果の適切に指定された単一のページをリクエストします。

リポジトリのクエリメソッドには、戻り値の型が複数のエンティティを返す可能性があることを示している場合、つまり戻り値の型が配列型、ListStreamPage、または CursoredPage である場合、PageRequest 型のパラメーターを含めることができます。PageRequest 型のパラメーターは、クエリ自体の通常のパラメーターを表すメソッドパラメーターの後に出現する必要があります。例:

 @OrderBy("age")
 @OrderBy("ssn")
 Person[] findByAgeBetween(int minAge, int maxAge, PageRequest pageRequest);
 

このメソッドは次のように呼び出されます。

 var page = people.findByAgeBetween(35, 59,
                PageRequest.ofSize(100));
 var results = page.content();
 ...
 while (page.hasNext()) {
     page = people.findByAgeBetween(35, 59,
                page.nextPageRequest().withoutTotal());
     results = page.content();
   ...
 }
 

リポジトリメソッドは次のように宣言することはできません。

  • PageRequest 型または Limit 型のパラメーターが複数ある場合
  • PageRequest 型のパラメーターと Limit 型のパラメーター、または
  • キーワード First と組み合わせた PageRequest 型のパラメーター。
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    インターフェース
    説明
    static interface
    キーから形成されるカーソル。これに基づいて次のページまたは前のページをリクエストできます。
    static enum
    ページネーションの種類: オフセットベースまたはカーソルベース(方向を含む)。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。
    afterCursor(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal)
    指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。
    指定されたキー値を基準にして、前のページ方向にカーソルベースのページ区切りをリクエストします。
    beforeCursor(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal)
    指定されたカーソルを基準として、前のページ方向にカーソルベースのページ区切りをリクエストします。
    カーソルベースのページ区切りの開始点となるキー値を返します。
    boolean
    別のインスタンスと比較して、両方が同じページネーション情報を表しているかどうかを判断します。
    ページネーションの型を返します。
    ofPage(long pageNumber)
    指定されたページ番号とデフォルトサイズ 10 の新しいページリクエストを作成します。
    ofPage(long pageNumber, int maxPageSize, boolean requestTotal)
    カーソルなしで新しいページリクエストを作成します。
    ofSize(int maxPageSize)
    最初のページ番号 (1) から始まる、指定されたサイズのページをリクエストするための新しいページリクエストを作成します。
    long
    返されるページを返します。
    boolean
    Page を返すクエリメソッドが、すべてのページで使用可能な要素の合計数を取得することを示します。
    int
    各ページのリクエストされたサイズを返します
    size(int maxPageSize)
    同じページ区切り情報を持ち、指定された最大ページサイズで新しいページリクエストを作成します。
    requestTotal() を false に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されなくなります。
    requestTotal() を false に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されます。
  • メソッドの詳細

    • ofPage

      static PageRequest ofPage(long pageNumber)
      指定されたページ番号とデフォルトサイズ 10 の新しいページリクエストを作成します。
      パラメーター:
      pageNumber - ページ番号。
      戻り値:
      PageRequest の新しいインスタンス。このメソッドは null を返しません。
      例外:
      IllegalArgumentExceptionSE - ページ番号が負またはゼロの場合。
    • ofPage

      static PageRequest ofPage(long pageNumber, int maxPageSize, boolean requestTotal)
      カーソルなしで新しいページリクエストを作成します。
      パラメーター:
      pageNumber - ページ番号。
      maxPageSize - ページ全体内のクエリ結果の数。
      requestTotal - すべてのページで使用可能な要素の合計数を取得するかどうかを示します。
      戻り値:
      PageRequest の新しいインスタンス。このメソッドは null を返しません。
      例外:
      IllegalArgumentExceptionSE - ページ番号が負またはゼロの場合。
    • ofSize

      static PageRequest ofSize(int maxPageSize)
      最初のページ番号 (1) から始まる、指定されたサイズのページをリクエストするための新しいページリクエストを作成します。
      パラメーター:
      maxPageSize - ページ全体内のクエリ結果の数。
      戻り値:
      PageRequest の新しいインスタンス。このメソッドは null を返しません。
      例外:
      IllegalArgumentExceptionSE - 最大ページサイズが負またはゼロの場合。
    • afterCursor

      static PageRequest afterCursor(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal)

      指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。

      パラメーター:
      cursor - キー値を持つカーソル。キー値の順序と数は、このページリクエストが提供されるリポジトリメソッドの OrderBy アノテーションまたは OrderBy 名前パターン、および Order および Sort パラメーターと一致する必要があります。
      pageNumber - ページ番号。
      maxPageSize - ページ全体内のクエリ結果の数。
      requestTotal - すべてのページで使用可能な要素の合計数を取得するかどうかを示します。
      戻り値:
      前方カーソルベースのページネーションを備えた PageRequest の新しいインスタンス。このメソッドは null を返すことはありません。
      例外:
      IllegalArgumentExceptionSE - カーソルが null であるか、値がない場合。
    • beforeCursor

      static PageRequest beforeCursor(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal)

      指定されたカーソルを基準として、前のページ方向にカーソルベースのページ区切りをリクエストします。

      パラメーター:
      cursor - キー値を持つカーソル。キー値の順序と数は、このページリクエストが提供されるリポジトリメソッドの OrderBy アノテーションまたは OrderBy 名前パターン、および Order および Sort パラメーターと一致する必要があります。
      pageNumber - ページ番号。
      maxPageSize - ページ全体内のクエリ結果の数。
      requestTotal - すべてのページで使用可能な要素の合計数を取得するかどうかを示します。
      戻り値:
      前のページの方向にカーソルベースのページネーションを行う PageRequest の新しいインスタンス。このメソッドは null を返すことはありません。
      例外:
      IllegalArgumentExceptionSE - カーソルが null であるか、値がない場合。
    • afterCursor

      PageRequest afterCursor(PageRequest.Cursor cursor)

      指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。

      パラメーター:
      cursor - キー値を持つカーソル。キー値の順序と数は、このページネーションが提供されるリポジトリメソッドの OrderBy アノテーション、Sort パラメーター、または OrderBy 名パターンと一致する必要があります。
      戻り値:
      前方カーソルベースのページネーションを備えた PageRequest の新しいインスタンス。このメソッドは null を返すことはありません。
      例外:
      IllegalArgumentExceptionSE - キー値が指定されていない場合。
    • beforeCursor

      PageRequest beforeCursor(PageRequest.Cursor cursor)

      指定されたキー値を基準にして、前のページ方向にカーソルベースのページ区切りをリクエストします。

      パラメーター:
      cursor - キー値を持つカーソル。キー値の順序と数は、このページネーションが提供されるリポジトリメソッドの OrderBy アノテーション、Sort パラメーター、または OrderBy 名パターンと一致する必要があります。
      戻り値:
      前のページの方向にカーソルベースのページネーションを行う PageRequest の新しいインスタンス。このメソッドは null を返すことはありません。
      例外:
      IllegalArgumentExceptionSE - キー値が指定されていない場合。
    • equals

      boolean equals(ObjectSE o)
      別のインスタンスと比較して、両方が同じページネーション情報を表しているかどうかを判断します。
      オーバーライド:
      クラス ObjectSEequalsSE 
      戻り値:
      両方のインスタンスが同じクラスに属し、同じページネーション情報を表す場合は true。それ以外の場合は false。
    • cursor

      カーソルベースのページ区切りの開始点となるキー値を返します。
      戻り値:
      カーソル。オフセットページネーションを使用する場合は Optional.empty()
    • mode

      ページネーションの型を返します。
      戻り値:
      ページネーションの種類。
    • page

      long page()
      返されるページを返します。
      戻り値:
      返されるページ。
    • size

      int size()
      各ページのリクエストされたサイズを返します
      戻り値:
      各ページのリクエストされたサイズ
    • requestTotal

      boolean requestTotal()
      Page を返すクエリメソッドが、すべてのページで使用可能な要素の合計数を取得することを示します。この動作はデフォルトで有効になっています。合計取得を無効にしてページリクエストを取得するには、withoutTotal() を呼び出します。
      戻り値:
      データベースから要素の合計数を取得する場合は true です。
    • size

      PageRequest size(int maxPageSize)

      同じページ区切り情報を持ち、指定された最大ページサイズを持つ新しいページリクエストを作成します。データベースからページを取得する場合、ページの先頭からデータベースから取得する要素数が不十分でない限り、ページ内の要素数は最大ページサイズと同じである必要があります。

      パラメーター:
      maxPageSize - ページ全体内のクエリ結果の数。
      戻り値:
      PageRequest の新しいインスタンス。このメソッドは null を返しません。
    • withoutTotal

      PageRequest withoutTotal()
      requestTotal() を false に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されなくなります。戻り値の型が Page のリポジトリメソッドによって合計が取得されない場合、操作 Page.totalElements() および Page.totalPages() が呼び出されると、IllegalStateExceptionSE がスローされることに注意してください。
      戻り値:
      requestTotal() が false に設定されたページリクエスト。
    • withTotal

      PageRequest withTotal()
      requestTotal() を false に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されます。
      戻り値:
      requestTotal() が true に設定されたページリクエスト。