パッケージ jakarta.data

レコードクラスの制限

レコードコンポーネント:
maxResults - クエリの結果の最大数。
startAt - クエリ結果の開始位置 (1 が最初の結果)。

public record Limit(int maxResults, long startAt) extends RecordSE

リポジトリメソッドによって取得される結果の数の制限を指定します。リポジトリメソッドの 1 回の呼び出しの結果は、指定された最大結果数、またはオフセットと最大結果数で定義された指定された位置範囲に制限される場合があります。

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

 Product[] findByNameLike(String namePattern, Limit limit, Sort<?>... sorts);
 
 ...
 mostExpensive50 = products.findByNameLike(pattern, Limit.of(50), Sort.desc("price"));
 ...
 secondMostExpensive50 = products.findByNameLike(pattern, Limit.range(51, 100), Sort.desc("price"));
 

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

  • Limit 型のパラメーターが複数ある場合
  • Limit 型のパラメーターと PageRequest 型のパラメーター、または
  • First キーワードと組み合わせた Limit 型のパラメーター。
  • コンストラクター概要

    コンストラクター
    コンストラクター
    説明
    Limit(int maxResults, long startAt)
    クエリ結果を制限します。
  • 方法の概要

    修飾子と型
    メソッド
    説明
    final boolean
    他のオブジェクトがこのオブジェクトと「等しい」かどうかを示します。
    final int
    このオブジェクトのハッシュコード値を返します。
    int
    リポジトリメソッドの 1 回の呼び出しで返される結果の最大数。
    static Limit
    of(int maxResults)
    最初の結果から開始して、結果の数を指定された最大値に制限する制限を作成します。
    static Limit
    range(long startAt, long endAt)
    結果を、startAt 位置で始まり、endAt 位置または最終結果の位置のどちらか早い方の後で終わる範囲に制限する制限を作成します。
    long
    クエリ結果を返すときに開始するオフセット。
    final StringSE
    このレコードクラスの文字列表現を返します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
  • コンストラクターの詳細

    • Limit

      public Limit(int maxResults, long startAt)

      クエリ結果を制限します。より説明的なコードについては、次を使用します。

      パラメーター:
      maxResults - クエリの結果の最大数。
      startAt - クエリ結果の開始位置 (1 が最初の結果)。
  • メソッドの詳細

    • maxResults

      public int maxResults()

      リポジトリメソッドの 1 回の呼び出しで返される結果の最大数。

      戻り値:
      クエリの結果の最大数。
    • startAt

      public long startAt()

      クエリ結果を返すときに開始するオフセット。最初のクエリ結果は位置 1 です。

      戻り値:
      最初の結果のオフセット。
    • of

      public static Limit of(int maxResults)

      最初の結果から開始して、結果の数を指定された最大値に制限する制限を作成します。

      パラメーター:
      maxResults - 結果の最大数。
      戻り値:
      find メソッドまたは find 操作を実行する @Query メソッドに指定できる制限。null にはなりません。
      例外:
      IllegalArgumentExceptionSE - maxResults が 1 未満の場合。
    • range

      public static Limit range(long startAt, long endAt)

      結果を、startAt 位置で始まり、endAt 位置または最終結果の位置のどちらか早い方の後で終わる範囲に制限する制限を作成します。

      パラメーター:
      startAt - 結果を含める開始位置。最初のクエリ結果は位置 1 です。
      endAt - この位置を過ぎると結果の追加が停止されます。
      戻り値:
      find メソッドまたは find 操作を実行する @Query メソッドに指定できる制限。null にはなりません。
      例外:
      IllegalArgumentExceptionSE - startAt が 1 未満であるか、endAt が startAt 未満であるか、startAt から endAt までの範囲が Integer.MAX_VALUESE を超えている場合。
    • toString

      public final StringSE toString()
      このレコードクラスの文字列表現を返します。表現には、クラスの名前が含まれ、その後に各レコードコンポーネントの名前と値が続きます。
      次で指定:
      クラス RecordSEtoString 
      戻り値:
      このオブジェクトの文字列表現
    • hashCode

      public final int hashCode()
      このオブジェクトのハッシュコード値を返します。値は、各レコードコンポーネントのハッシュコードから導出されます。
      次で指定:
      クラス RecordSEhashCode 
      戻り値:
      このオブジェクトのハッシュコード値
    • equals

      public final boolean equals(ObjectSE o)
      他のオブジェクトがこのオブジェクトと「等しい」かどうかを示します。他のオブジェクトが同じクラスであり、すべてのレコードコンポーネントが等しい場合、オブジェクトは等しいです。このレコードクラスのすべてのコンポーネントは "==" で比較されます。
      次で指定:
      クラス RecordSEequalsSE 
      パラメーター:
      o - 比較するオブジェクト
      戻り値:
      このオブジェクトが o 引数と同じ場合は true。それ以外の場合は false