パッケージ 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 PageRequestafterCursor(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal) 指定されたキーの後から、前方方向へのカーソルベースのページングをリクエストします。beforeCursor(PageRequest.Cursor cursor) 指定されたキー値を基準にして、前のページ方向にカーソルベースのページ区切りをリクエストします。static PageRequestbeforeCursor(PageRequest.Cursor cursor, long pageNumber, int maxPageSize, boolean requestTotal) 指定されたカーソルを基準として、前のページ方向にカーソルベースのページ区切りをリクエストします。cursor()カーソルベースのページ区切りの開始点となるキー値を返します。boolean別のインスタンスと比較して、両方が同じページネーション情報を表しているかどうかを判断します。mode()ページネーションの型を返します。static PageRequestofPage(long pageNumber) 指定されたページ番号とデフォルトサイズ 10 の新しいページリクエストを作成します。static PageRequestofPage(long pageNumber, int maxPageSize, boolean requestTotal) カーソルなしで新しいページリクエストを作成します。static PageRequestofSize(int maxPageSize) 最初のページ番号 (1) から始まる、指定されたサイズのページをリクエストするための新しいページリクエストを作成します。longpage()返されるページを返します。booleanintsize()各ページのリクエストされたサイズを返します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()が呼び出されると、IllegalStateExceptionSE がスローされることに注意してください。- 戻り値:
requestTotal()がfalseに設定されたページリクエスト。
withTotal
PageRequest withTotal()requestTotal()をfalseに設定して、それ以外は同等のページリクエストを返します。これにより、データベースから合計が取得されます。- 戻り値:
requestTotal()がtrueに設定されたページリクエスト。