インターフェース JpaSpecificationExecutor<T>

すべての既知のサブインターフェース:
JpaRepositoryImplementation<T,ID>
すべての既知の実装クラス:
QuerydslJpaRepositorySimpleJpaRepository

public interface JpaSpecificationExecutor<T>
JPA 条件 API に基づいて Specification の実行を許可するインターフェース。
作成者:
Oliver Gierke, Christoph Strobl, Diego Krupitza, Mark Paluch, Joshua Chen
  • メソッドの詳細

    • findOne

      OptionalSE<T> findOne(Specification<T> spec)
      指定された Specification または Optional.empty() に一致する単一のエンティティが見つからない場合、それを返します。
      パラメーター:
      spec - null であってはなりません。
      戻り値:
      決して null にはなりません。
      例外:
      IncorrectResultSizeDataAccessException - 複数のエンティティが見つかった場合。
    • findAll

      ListSE<T> findAll(@Nullable Specification<T> spec)
      指定された Specification に一致するすべてのエンティティを返します。

      Specification が指定されていない場合は、<T> に一致するすべてのエンティティが選択されます。

      パラメーター:
      spec - null でもかまいません。
      戻り値:
      決して null にはなりません。
    • findAll

      Page<T> findAll(@Nullable Specification<T> spec, Pageable pageable)
      指定された Specification に一致するエンティティの Page を返します。

      Specification が指定されていない場合は、<T> に一致するすべてのエンティティが選択されます。

      パラメーター:
      spec - null でもかまいません。
      pageable - null であってはなりません。
      戻り値:
      決して null にはなりません。
    • findAll

      Page<T> findAll(@Nullable Specification<T> spec, @Nullable Specification<T> countSpec, Pageable pageable)
      指定された Specification に一致するエンティティの Page を返します。

      Specification に一致するエンティティの合計数のカウントをサポートします。

      パラメーター:
      spec - null にすることができます。Specification が指定されていない場合は、<T> に一致するすべてのエンティティが選択されます。
      countSpec - null にすることができます。Specification が指定されていない場合は、<T> に一致するすべてのエンティティがカウントされます。
      pageable - null であってはなりません。
      戻り値:
      決して null にはなりません。
      導入:
      3.5
    • findAll

      ListSE<T> findAll(@Nullable Specification<T> spec, Sort sort)
      指定された Specification および Sort に一致するすべてのエンティティを返します。

      Specification が指定されていない場合は、<T> に一致するすべてのエンティティが選択されます。

      パラメーター:
      spec - null でもかまいません。
      sort - null であってはなりません。
      戻り値:
      決して null にはなりません。
    • count

      long count(@Nullable Specification<T> spec)
      指定された Specification が返すインスタンスの数を返します。

      Specification が指定されていない場合は、<T> に一致するすべてのエンティティがカウントされます。

      パラメーター:
      spec - インスタンスをカウントする Specification は null であってはなりません。
      戻り値:
      インスタンスの数。
    • exists

      boolean exists(Specification<T> spec)
      データストアに、指定された Specification と一致する要素が含まれているかどうかを確認します。
      パラメーター:
      spec - 存在チェックに使用する Specification は null であってはなりません。
      戻り値:
      データストアに指定された Specification に一致する要素が含まれている場合は true、それ以外の場合は false
    • delete

      long delete(@Nullable Specification<T> spec)
      Specification によって削除し、削除された行数を返します。

      この方法では、データベース削除操作に直接マップされる Criteria API bulk delete を使用します。永続化コンテキストは一括削除の結果と同期されません。

      CriteriaBuilder.createCriteriaDelete(Class) は CriteriaQuery を実装していないため、CriteriaQuerySpecification.toPredicate(Root, CriteriaQuery, CriteriaBuilder) は null になることに注意してください。

      Specification が指定されていない場合は、<T> に一致するすべてのエンティティが削除されます。

      パラメーター:
      spec - 存在チェックに使用する Specification は null にできません。
      戻り値:
      削除されたエンティティの数。
      導入:
      3.0
    • findBy

      <S extends T, R> R findBy(Specification<T> spec, FunctionSE<? super JpaSpecificationExecutor.SpecificationFluentQuery<S>,R> queryFunction)
      クエリとその結果の型を定義する queryFunction を適用して、指定された Specification に一致するエンティティを返します。

      queryFunction で使用されるクエリオブジェクトは、findBy(…) メソッド呼び出し内でのみ有効です。クエリが findBy(…) メソッド内で実行されるようにするには、クエリ関数が FluentQuery オブジェクト自体ではなくクエリ結果を返す必要があります。

      パラメーター:
      spec - null であってはなりません。
      queryFunction - 射影、並べ替え、結果型を定義するクエリ関数
      戻り値:
      指定された仕様に一致するすべてのエンティティ。
      例外:
      InvalidDataAccessApiUsageException - クエリ関数が FluentQuery インスタンスを返す場合。
      導入:
      3.0