レコードクラス Sort<T>
- 型パラメーター:
T
- 並べ替えの基準となるプロパティのエンティティクラス。- レコードコンポーネント:
property
- 並べ替えるプロパティの名前。isAscending
- このプロパティの順序が昇順 (true) か降順 (false) か。ignoreCase
- 大文字と小文字を区別する照合順序を使用してデータベースから大文字と小文字を区別しない順序付けをリクエストするかどうか。
指定されたエンティティ属性に基づいて並べ替えをリクエストします。
Sort
のインスタンスは、ソート方向と明確に定義された大文字と小文字の区別を使用して、エンティティフィールドに基づいてソート基準を指定します。
リポジトリのクエリメソッドには、戻り値の型が複数のエンティティを返す可能性があることを示している場合、Sort
型のパラメーターが 1 つ以上含まれることがあります。Sort
型のパラメーターは、クエリ自体の通常のパラメーターを表すメソッドパラメーターの後に出現する必要があります。
パラメーター型 Sort<?>...
では、可変数の汎用 Sort
条件が許可されます。例:
Employee[] findByYearHired(int yearHired, Limit maxResults, Sort<?>... sortBy); ... highestPaidNewHires = employees.findByYearHired(Year.now().getValue(), Limit.of(10), Sort.desc("salary"), Sort.asc("lastName"), Sort.asc("firstName"));
あるいは、Order
を静的メタモデルと組み合わせて使用して、可変数の型付き Sort
条件を許可することもできます。例:
Employee[] findByYearHired(int yearHired, Limit maxResults, Order<Employee> sortBy); ... highestPaidNewHires = employees.findByYearHired(Year.now().getValue(), Limit.of(10), Order.by(_Employee.salary.desc(), _Employee.lastName.asc(), _Employee.firstName.asc()));
複数の並べ替え条件が指定されている場合、並べ替えは辞書式に行われ、条件の優先順位は条件リスト内の位置に応じて決まります。
リポジトリメソッドは、OrderBy
キーワードまたは @OrderBy
アノテーションを使用して静的ソート条件を宣言し、パラメーターを介して動的ソート条件を受け入れることもできます。この場合、静的ソート条件が最初に適用され、その後に Sort
のインスタンスによって指定された動的ソート条件が適用されます。
上記の例では、一致する従業員は、まず給与の高い順から低い順に並べ替えられます。次に、給与が同じ従業員は姓のアルファベット順に並べ替えられます。次に、給与と姓が同じ従業員は、名のアルファベット順に並べ替えられます。
リポジトリメソッドは、データベースが指定された並べ替え条件を使用してクエリ結果を並べ替えることができない場合、DataException
をスローします。
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明static <T> Sort<T>
大文字と小文字を区別しない順序付けをリクエストしないascending direction
を使用してSort
インスタンスを作成します。static <T> Sort<T>
ascIgnoreCase
(StringSE property) ascending direction
と大文字と小文字を区別しない順序でSort
インスタンスを作成します。static <T> Sort<T>
大文字と小文字を区別しない順序付けをリクエストしないdescending direction
を使用してSort
インスタンスを作成します。static <T> Sort<T>
descIgnoreCase
(StringSE property) descending direction
と大文字と小文字を区別しない順序でSort
インスタンスを作成します。final boolean
他のオブジェクトがこのオブジェクトと「等しい」かどうかを示します。final int
hashCode()
このオブジェクトのハッシュコード値を返します。boolean
大文字と小文字を区別する照合順序を使用してデータベースから大文字と小文字を区別しない順序付けをリクエストするかどうかを示します。boolean
プロパティを昇順 (true) で並べ替えるか、降順 (false) で並べ替えるかを示します。boolean
プロパティを降順 (true) で並べ替えるか、昇順 (false) で並べ替えるかを示します。static <T> Sort<T>
Sort
インスタンスを作成するproperty()
並べ替えるプロパティの名前。final StringSE
toString()
このレコードクラスの文字列表現を返します。
コンストラクターの詳細
Sort
エンティティプロパティの並べ替え条件を定義します。より説明的なコードについては、次を使用します。
Sort.asc(propertyName)
プロパティの昇順ソート用。Sort.ascIgnoreCase(propertyName)
は、プロパティの大文字と小文字を区別しない昇順ソートを表します。Sort.desc(propertyName)
プロパティの降順並べ替えの場合。Sort.descIgnoreCase(propertyName)
プロパティの大文字と小文字を区別しない降順並べ替え。
- パラメーター:
property
- 並べ替えるプロパティの名前。isAscending
- このプロパティの順序が昇順 (true) か降順 (false) か。ignoreCase
- 大文字と小文字を区別する照合順序を使用してデータベースから大文字と小文字を区別しない順序付けをリクエストするかどうか。
メソッドの詳細
property
並べ替えるプロパティの名前。- 戻り値:
- 並べ替えの基準となるプロパティ名。
null
にはなりません。
ignoreCase
public boolean ignoreCase()大文字と小文字を区別する照合順序を使用してデータベースから大文字と小文字を区別しない順序付けをリクエストするかどうかを示します。大文字と小文字を区別しない照合順序を使用するデータベースは、リクエストされた
ignoreCase
値に関係なく、大文字と小文字を区別しない順序付けを実行します。- 戻り値:
- プロパティの大文字と小文字を区別しない並べ替えをリクエストするかどうかを返します。
isAscending
public boolean isAscending()プロパティを昇順 (true) で並べ替えるか、降順 (false) で並べ替えるかを示します。- 戻り値:
- このプロパティのソートを昇順にするかどうかを返します。
isDescending
public boolean isDescending()プロパティを降順 (true) で並べ替えるか、昇順 (false) で並べ替えるかを示します。- 戻り値:
- このプロパティのソートが降順かどうかを返します。
of
Sort
インスタンスを作成する- 型パラメーター:
T
- ソート可能なプロパティのエンティティクラス。- パラメーター:
property
- 並べ替えるプロパティ名direction
- 並べ替える方向。ignoreCase
- 大文字と小文字を区別しない順序付けをリクエストするかどうか。- 戻り値:
Sort
インスタンス。決してnull
しないでください。- 例外:
NullPointerExceptionSE
- null パラメーターがある場合
asc
大文字と小文字を区別しない順序付けをリクエストしないascending direction
を使用してSort
インスタンスを作成します。- 型パラメーター:
T
- ソート可能なプロパティのエンティティクラス。- パラメーター:
property
- 並べ替えるプロパティ名- 戻り値:
Sort
インスタンス。決してnull
しないでください。- 例外:
NullPointerExceptionSE
- プロパティが null の場合
ascIgnoreCase
ascending direction
と大文字と小文字を区別しない順序でSort
インスタンスを作成します。- 型パラメーター:
T
- ソート可能なプロパティのエンティティクラス。- パラメーター:
property
- 並べ替えるプロパティ名。- 戻り値:
Sort
インスタンス。決してnull
しないでください。- 例外:
NullPointerExceptionSE
- プロパティが null の場合。
desc
大文字と小文字を区別しない順序付けをリクエストしないdescending direction
を使用してSort
インスタンスを作成します。- 型パラメーター:
T
- ソート可能なプロパティのエンティティクラス。- パラメーター:
property
- 並べ替えるプロパティ名- 戻り値:
Sort
インスタンス。決してnull
しないでください。- 例外:
NullPointerExceptionSE
- プロパティが null の場合
descIgnoreCase
descending direction
と大文字と小文字を区別しない順序でSort
インスタンスを作成します。- 型パラメーター:
T
- ソート可能なプロパティのエンティティクラス。- パラメーター:
property
- 並べ替えるプロパティ名。- 戻り値:
Sort
インスタンス。決してnull
しないでください。- 例外:
NullPointerExceptionSE
- プロパティが null の場合。
toString
このレコードクラスの文字列表現を返します。表現には、クラスの名前が含まれ、その後に各レコードコンポーネントの名前と値が続きます。hashCode
public final int hashCode()このオブジェクトのハッシュコード値を返します。値は、各レコードコンポーネントのハッシュコードから導出されます。equals
他のオブジェクトがこのオブジェクトと「等しい」かどうかを示します。他のオブジェクトが同じクラスであり、すべてのレコードコンポーネントが等しい場合、オブジェクトは等しいです。参照コンポーネントはObjects::equals(Object,Object)
SE と比較されます。プリミティブコンポーネントは "==" と比較されます。