インターフェース Specification<T>
- 型パラメーター:
T- 仕様が適用されるentityの型。
- すべてのスーパーインターフェース:
SerializableSE
- すべての既知の実装クラス:
KeysetScrollSpecification
- 関数インターフェース:
- これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。
ドメイン駆動設計という意味での仕様。
仕様は、and(Specification)、or(Specification)、または allOf(Iterable) などのファクトリメソッドを使用して、他の仕様から高階関数に構成できます。
合成は、1 つ以上の指定が Predicate または null を返すことで述語全体にコントリビュートするかどうかを考慮します。unrestricted() のように null を返す指定は述語全体にコントリビュートしないものとみなされ、その結果は最終的な述語では考慮されません。
- 作成者:
- Oliver Gierke, Thomas Darimont, Krzysztof Rzymkowski, Sebastian Staudt, Mark Paluch, Jens Schauder, Daniel Shuy, Sergey Rukin, Heeeun Cho, Peter Aisher
方法の概要
修飾子と型メソッド説明static <T> Specification<T> allOf(IterableSE<Specification<T>> specifications) 指定されたすべてのSpecificationに AND 演算を適用します。static <T> Specification<T> allOf(Specification<T>... specifications) 指定されたすべてのSpecificationに AND 演算を適用します。default Specification<T> and(PredicateSpecification<T> other) 指定されたSpecificationを現在のものに AND します。default Specification<T> and(Specification<T> other) 指定されたSpecificationを現在のものに AND します。static <T> Specification<T> anyOf(IterableSE<Specification<T>> specifications) 指定されたすべてのSpecificationに OR 演算を適用します。static <T> Specification<T> anyOf(Specification<T>... specifications) 指定されたすべてのSpecificationに OR 演算を適用します。static <T> Specification<T> not(Specification<T> spec) 指定されたSpecificationを否定します。default Specification<T> or(PredicateSpecification<T> other) 指定された仕様を現在の仕様に OR します。default Specification<T> or(Specification<T> other) 指定された仕様を現在の仕様に OR します。@Nullable jakarta.persistence.criteria.PredicatetoPredicate(jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) 指定されたRootおよびCriteriaUpdateのPredicateの形式で参照エンティティのクエリの WHERE 句を作成します。static <T> Specification<T> マッチングに参加しない仕様を作成するための単純な静的ファクトリメソッド。static <T> Specification<T> where(PredicateSpecification<T> spec) PredicateSpecificationをSpecificationに変換する構文糖を追加する単純な静的ファクトリメソッド。static <T> Specification<T> where(Specification<T> spec) Specificationの周囲に構文糖を追加する単純な静的ファクトリメソッド。
メソッドの詳細
unrestricted
マッチングに関与しない仕様を作成するためのシンプルな静的ファクトリメソッドです。返される仕様はnull-like であり、すべての操作で省略されます。unrestricted().and(other) // consider only `other` unrestricted().or(other) // consider only `other` not(unrestricted()) // equivalent to `unrestricted()`
- 型パラメーター:
T- 結果の仕様が動作するRootの型。- 戻り値:
- null でないことが保証されています。
- 導入:
- 4.0
where
Specificationの周囲に構文糖を追加する単純な静的ファクトリメソッド。- 型パラメーター:
T- 結果の仕様が動作するRootの型。- パラメーター:
spec- null でもかまいません。- 戻り値:
- null でないことが保証されています。
- 導入:
- 2.0
where
PredicateSpecificationをSpecificationに変換する構文糖を追加する単純な静的ファクトリメソッド。- 型パラメーター:
T- 結果の仕様が動作するRootの型。- パラメーター:
spec-PredicateSpecificationをラップします。- 戻り値:
- null でないことが保証されています。
and
指定されたSpecificationを現在のものに AND します。- パラメーター:
other- 他のSpecification。- 戻り値:
- 仕様の結合。
- 導入:
- 2.0
and
@Contract("_ -> new") @CheckReturnValue default Specification<T> and(PredicateSpecification<T> other) 指定されたSpecificationを現在のものに AND します。- パラメーター:
other- 他のPredicateSpecification。- 戻り値:
- 仕様の結合。
- 導入:
- 2.0
or
指定された仕様を現在の仕様に OR します。- パラメーター:
other- 他のSpecification。- 戻り値:
- 仕様の不一致
- 導入:
- 2.0
or
@Contract("_ -> new") @CheckReturnValue default Specification<T> or(PredicateSpecification<T> other) 指定された仕様を現在の仕様に OR します。- パラメーター:
other- 他のPredicateSpecification。- 戻り値:
- 仕様の不一致
- 導入:
- 2.0
not
指定されたSpecificationを否定します。- 型パラメーター:
T- 結果の仕様が動作するRootの型。- パラメーター:
spec- null でもかまいません。- 戻り値:
- null でないことが保証されています。
- 導入:
- 2.0
allOf
指定されたすべてのSpecificationに AND 演算を適用します。specificationsが空の場合、結果のSpecificationはすべてのオブジェクトに適用されるunrestricted()になります。- パラメーター:
specifications-Specificationを作成します。- 戻り値:
- 仕様の結合。
- 導入:
- 3.0
- 関連事項:
allOf
指定されたすべてのSpecificationに AND 演算を適用します。specificationsが空の場合、結果のSpecificationはすべてのオブジェクトに適用されるunrestricted()になります。- パラメーター:
specifications-Specificationを作成します。- 戻り値:
- 仕様の結合。
- 導入:
- 3.0
- 関連事項:
anyOf
指定されたすべてのSpecificationに OR 演算を適用します。specificationsが空の場合、結果のSpecificationはすべてのオブジェクトに適用されるunrestricted()になります。- パラメーター:
specifications-Specificationを作成します。- 戻り値:
- 仕様の不一致
- 導入:
- 3.0
- 関連事項:
anyOf
指定されたすべてのSpecificationに OR 演算を適用します。specificationsが空の場合、結果のSpecificationはすべてのオブジェクトに適用されるunrestricted()になります。- パラメーター:
specifications-Specificationを作成します。- 戻り値:
- 仕様の不一致
- 導入:
- 3.0
- 関連事項:
toPredicate
@Nullable jakarta.persistence.criteria.Predicate toPredicate(jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) 指定されたRootおよびCriteriaUpdateのPredicateの形式で参照エンティティのクエリの WHERE 句を作成します。- パラメーター:
root- null であってはなりません。query- 条件クエリ。criteriaBuilder- null であってはなりません。- 戻り値:
Predicate、null の場合があります。