インターフェース Specification<T>
- すべてのスーパーインターフェース:
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, Peter Aisher
フィールドのサマリー
フィールドメソッドのサマリー
修飾子と型メソッド説明static <T> Specification<T>allOf(IterableSE<Specification<T>> specifications) 指定されたすべてのSpecificationに AND 演算を適用します。static <T> Specification<T>allOf(Specification<T>... specifications) 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) static <T> Specification<T>not(Specification<T> spec) 指定されたSpecificationを否定します。default Specification<T>or(Specification<T> other) 指定された仕様を現在の仕様に OR します。jakarta.persistence.criteria.PredicatetoPredicate(jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) 指定されたRootおよびCriteriaQueryのPredicateの形式で参照エンティティのクエリの WHERE 句を作成します。static <T> Specification<T>マッチングに参加しない仕様を作成するための単純な静的ファクトリメソッド。static <T> Specification<T>where(Specification<T> spec) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。3.5 以降、null 仕様をサポートしたくないため、4.0 で削除されます。
フィールドの詳細
serialVersionUID
static final long serialVersionUID- 関連事項:
メソッドの詳細
not
指定されたSpecificationを否定します。- 型パラメーター:
T- 結果の仕様が動作するRootの型。- パラメーター:
spec- null でもかまいません。- 戻り値:
- null でないことが保証されています。
- 導入:
- 2.0
unrestricted
マッチングに関与しない仕様を作成するためのシンプルな静的ファクトリメソッドです。返される仕様はnull-like であり、すべての操作で省略されます。unrestricted().and(other) // consider only `other` unrestricted().or(other) // consider only `other` not(unrestricted()) // equivalent to `unrestricted()`
- 型パラメーター:
T- 結果の仕様が動作するRootの型。- 戻り値:
- null でないことが保証されています。
- 導入:
- 3.5.2
where
@DeprecatedSE(since="3.5.0", forRemoval=true) static <T> Specification<T> where(@Nullable Specification<T> spec) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。3.5 以降、4.0 で削除される予定です。これは、null 指定をサポートしないためです。代わりにunrestricted()を使用してください。Specificationの周囲に構文糖を追加する単純な静的ファクトリメソッド。- 型パラメーター:
T- 結果の仕様が動作するRootの型。- パラメーター:
spec- null でもかまいません。- 戻り値:
- null でないことが保証されています。
- 導入:
- 2.0
and
指定されたSpecificationを現在のものに AND します。- パラメーター:
other- null でもかまいません。- 戻り値:
- 仕様の連動
- 導入:
- 2.0
or
指定された仕様を現在の仕様に OR します。- パラメーター:
other- null でもかまいません。- 戻り値:
- 仕様の分離
- 導入:
- 2.0
toPredicate
@Nullable jakarta.persistence.criteria.Predicate toPredicate(jakarta.persistence.criteria.Root<T> root, @Nullable jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder) 指定されたRootおよびCriteriaQueryのPredicateの形式で参照エンティティのクエリの WHERE 句を作成します。- パラメーター:
root- null であってはなりません。query-AbstractQueryであるがCriteriaQueryではないCriteriaDeleteを受け入れるオーバーライドを許可するには、null にすることができます。criteriaBuilder- null であってはなりません。- 戻り値:
Predicate、null の場合があります。
allOf
指定されたすべてのSpecificationに AND 演算を適用します。- パラメーター:
specifications- 構成するSpecification。nullを含めることができます。- 戻り値:
- 仕様の連動
- 導入:
- 3.0
- 関連事項:
allOf
- 導入:
- 3.0
- 関連事項:
anyOf
指定されたすべてのSpecificationに OR 演算を適用します。- パラメーター:
specifications- 構成するSpecification。nullを含めることができます。- 戻り値:
- 仕様の分離
- 導入:
- 3.0
- 関連事項:
anyOf
- 導入:
- 3.0
- 関連事項: