パッケージ jakarta.data.page
インターフェース PageRequest
public interface PageRequest
クエリ結果の適切に指定された単一のページをリクエストします。
リポジトリのクエリメソッドには、戻り値の型が複数のエンティティを返す可能性があることを示している場合、つまり戻り値の型が配列型、List
、Stream
、Page
、または 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(); ... }
リポジトリメソッドは次のように宣言することはできません。
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インターフェース説明static interface
キーから形成されるカーソル。これに基づいて次のページまたは前のページをリクエストできます。static enum
ページネーションの種類: オフセットベースまたはカーソルベース(方向を含む)。メソッドのサマリー
修飾子と型メソッド説明afterCursor
(PageRequest.Cursor cursor) 指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。static PageRequest
afterCursor
(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal) 指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。beforeCursor
(PageRequest.Cursor cursor) 指定されたキー値を基準にして、前のページ方向にカーソルベースのページ区切りをリクエストします。static PageRequest
beforeCursor
(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal) 指定されたカーソルを基準として、前のページ方向にカーソルベースのページ区切りをリクエストします。cursor()
カーソルベースのページ区切りの開始点となるキー値を返します。boolean
別のインスタンスと比較して、両方が同じページネーション情報を表しているかどうかを判断します。mode()
ページネーションの型を返します。static PageRequest
ofPage
(long pageNumber) 指定されたページ番号とデフォルトサイズ 10 の新しいページリクエストを作成します。static PageRequest
ofPage
(long pageNumber, int maxPageSize, boolean requestTotal) カーソルなしで新しいページリクエストを作成します。static PageRequest
ofSize
(int maxPageSize) 最初のページ番号 (1) から始まる、指定されたサイズのページをリクエストするための新しいページリクエストを作成します。long
page()
返されるページを返します。boolean
int
size()
各ページのリクエストされたサイズを返しますsize
(int maxPageSize) 同じページ区切り情報を持ち、指定された最大ページサイズで新しいページリクエストを作成します。requestTotal()
をfalse
に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されなくなります。requestTotal()
をfalse
に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されます。
メソッドの詳細
ofPage
指定されたページ番号とデフォルトサイズ 10 の新しいページリクエストを作成します。- パラメーター:
pageNumber
- ページ番号。- 戻り値:
PageRequest
の新しいインスタンス。このメソッドはnull
を返しません。- 例外:
IllegalArgumentExceptionSE
- ページ番号が負またはゼロの場合。
ofPage
カーソルなしで新しいページリクエストを作成します。- パラメーター:
pageNumber
- ページ番号。maxPageSize
- ページ全体内のクエリ結果の数。requestTotal
- すべてのページで使用可能な要素の合計数を取得するかどうかを示します。- 戻り値:
PageRequest
の新しいインスタンス。このメソッドはnull
を返しません。- 例外:
IllegalArgumentExceptionSE
- ページ番号が負またはゼロの場合。
ofSize
最初のページ番号 (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
指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。
- パラメーター:
cursor
- キー値を持つカーソル。キー値の順序と数は、このページネーションが提供されるリポジトリメソッドのOrderBy
アノテーション、Sort
パラメーター、またはOrderBy
名パターンと一致する必要があります。- 戻り値:
- 前方カーソルベースのページネーションを備えた
PageRequest
の新しいインスタンス。このメソッドはnull
を返すことはありません。 - 例外:
IllegalArgumentExceptionSE
- キー値が指定されていない場合。
beforeCursor
指定されたキー値を基準にして、前のページ方向にカーソルベースのページ区切りをリクエストします。
- パラメーター:
cursor
- キー値を持つカーソル。キー値の順序と数は、このページネーションが提供されるリポジトリメソッドのOrderBy
アノテーション、Sort
パラメーター、またはOrderBy
名パターンと一致する必要があります。- 戻り値:
- 前のページの方向にカーソルベースのページネーションを行う
PageRequest
の新しいインスタンス。このメソッドはnull
を返すことはありません。 - 例外:
IllegalArgumentExceptionSE
- キー値が指定されていない場合。
equals
別のインスタンスと比較して、両方が同じページネーション情報を表しているかどうかを判断します。cursor
OptionalSE<PageRequest.Cursor> cursor()カーソルベースのページ区切りの開始点となるキー値を返します。- 戻り値:
- カーソル。オフセットページネーションを使用する場合は
Optional.empty()
。
mode
PageRequest.Mode mode()ページネーションの型を返します。- 戻り値:
- ページネーションの種類。
page
long page()返されるページを返します。- 戻り値:
- 返されるページ。
size
int size()各ページのリクエストされたサイズを返します- 戻り値:
- 各ページのリクエストされたサイズ
requestTotal
boolean requestTotal()Page
を返すクエリメソッドが、すべてのページで使用可能な要素の合計数を取得することを示します。この動作はデフォルトで有効になっています。合計取得を無効にしてページリクエストを取得するには、withoutTotal()
を呼び出します。- 戻り値:
- データベースから要素の合計数を取得する場合は
true
です。
size
同じページ区切り情報を持ち、指定された最大ページサイズを持つ新しいページリクエストを作成します。データベースからページを取得する場合、ページの先頭からデータベースから取得する要素数が不十分でない限り、ページ内の要素数は最大ページサイズと同じである必要があります。
- パラメーター:
maxPageSize
- ページ全体内のクエリ結果の数。- 戻り値:
PageRequest
の新しいインスタンス。このメソッドはnull
を返しません。
withoutTotal
PageRequest withoutTotal()requestTotal()
をfalse
に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されなくなります。戻り値の型がPage
のリポジトリメソッドによって合計が取得されない場合、操作Page.totalElements()
およびPage.totalPages()
が呼び出されると、IllegalStateException
SE がスローされることに注意してください。- 戻り値:
requestTotal()
がfalse
に設定されたページリクエスト。
withTotal
PageRequest withTotal()requestTotal()
をfalse
に設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されます。- 戻り値:
requestTotal()
がtrue
に設定されたページリクエスト。