Interface JpaSpecificationExecutor<T>

Type Parameters:
T - The entity type

public interface JpaSpecificationExecutor<T>
Interface to allow execution of query/delete/update methods using dynamic JPA criteria API. Based on Spring Data's 'org.springframework.data.jpa.repository.JpaSpecificationExecutor'.
Since:
3.2
Author:
Denis Stepanov
  • Method Details

    • findOne

      Optional<T> findOne(@Nullable @Nullable QuerySpecification<T> spec)
      Returns a single entity matching the given QuerySpecification.
      Parameters:
      spec - The query specification
      Returns:
      optional found result
    • findOne

      Optional<T> findOne(@Nullable @Nullable PredicateSpecification<T> spec)
      Returns a single entity matching the given PredicateSpecification.
      Parameters:
      spec - The query specification
      Returns:
      optional found result
    • findAll

      @NonNull @NonNull List<T> findAll(@Nullable @Nullable QuerySpecification<T> spec)
      Returns all entities matching the given QuerySpecification.
      Parameters:
      spec - The query specification
      Returns:
      found results
    • findAll

      @NonNull @NonNull List<T> findAll(@Nullable @Nullable PredicateSpecification<T> spec)
      Returns all entities matching the given PredicateSpecification.
      Parameters:
      spec - The query specification
      Returns:
      found results
    • findAll

      @NonNull @NonNull Page<T> findAll(@Nullable @Nullable QuerySpecification<T> spec, Pageable pageable)
      Returns a Page of entities matching the given QuerySpecification.
      Parameters:
      spec - The query specification
      pageable - The pageable object
      Returns:
      a page
    • findAll

      @NonNull @NonNull Page<T> findAll(@Nullable @Nullable PredicateSpecification<T> spec, Pageable pageable)
      Returns a Page of entities matching the given QuerySpecification.
      Parameters:
      spec - The query specification
      pageable - The pageable object
      Returns:
      a page
    • findAll

      @NonNull @NonNull List<T> findAll(@Nullable @Nullable QuerySpecification<T> spec, Sort sort)
      Returns all entities matching the given QuerySpecification and Sort.
      Parameters:
      spec - The query specification
      sort - The sort object
      Returns:
      found results
    • findAll

      @NonNull @NonNull List<T> findAll(@Nullable @Nullable PredicateSpecification<T> spec, Sort sort)
      Returns all entities matching the given QuerySpecification and Sort.
      Parameters:
      spec - The query specification
      sort - The sort object
      Returns:
      found results
    • findAll

      @NonNull <R> @NonNull List<R> findAll(@Nullable @Nullable CriteriaQueryBuilder<R> builder)
      Find all using build criteria query.
      Type Parameters:
      R - the result type
      Parameters:
      builder - The criteria query builder
      Returns:
      the number records updated.
      Since:
      3.5.0
    • findOne

      @NonNull <R> R findOne(@Nullable @Nullable CriteriaQueryBuilder<R> builder)
      Find one using build criteria query.
      Type Parameters:
      R - the result type
      Parameters:
      builder - The criteria query builder
      Returns:
      the number records updated.
      Since:
      3.5.0
    • count

      long count(@Nullable @Nullable QuerySpecification<T> spec)
      Returns the number of instances that the given QuerySpecification will return.
      Parameters:
      spec - The query specification
      Returns:
      the number of instances.
    • count

      long count(@Nullable @Nullable PredicateSpecification<T> spec)
      Returns the number of instances that the given QuerySpecification will return.
      Parameters:
      spec - The query specification
      Returns:
      the number of instances.
    • exists

      boolean exists(@Nullable @Nullable QuerySpecification<T> spec)
      Returns whether an instance was found for the given QuerySpecification.
      Parameters:
      spec - The query specification
      Returns:
      the number of instances.
      Since:
      3.8
    • exists

      boolean exists(@Nullable @Nullable PredicateSpecification<T> spec)
      Returns whether an instance was found for the given PredicateSpecification.
      Parameters:
      spec - The query specification
      Returns:
      the number of instances.
      Since:
      3.8
    • deleteAll

      long deleteAll(@Nullable @Nullable DeleteSpecification<T> spec)
      Deletes all entities matching the given DeleteSpecification.
      Parameters:
      spec - The delete specification
      Returns:
      the number records deleted.
    • deleteAll

      long deleteAll(@Nullable @Nullable PredicateSpecification<T> spec)
      Deletes all entities matching the given PredicateSpecification.
      Parameters:
      spec - The delete specification
      Returns:
      the number records deleted.
    • deleteAll

      long deleteAll(@Nullable @Nullable CriteriaDeleteBuilder<T> builder)
      Delete all entities using build criteria query.
      Parameters:
      builder - The delete criteria query builder
      Returns:
      the number records updated.
      Since:
      3.5.0
    • updateAll

      long updateAll(@Nullable @Nullable UpdateSpecification<T> spec)
      Updates all entities matching the given UpdateSpecification.
      Parameters:
      spec - The update specification
      Returns:
      the number records updated.
    • updateAll

      long updateAll(@Nullable @Nullable CriteriaUpdateBuilder<T> builder)
      Updates all entities using build criteria query.
      Parameters:
      builder - The update criteria query builder
      Returns:
      the number records updated.
      Since:
      3.5.0