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
    • Method Detail

      • findOne

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

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

        @NonNull
        java.util.List<T> findAll​(@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
        java.util.List<T> findAll​(@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> java.util.List<R> findAll​(@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
                      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
                   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
                   PredicateSpecification<T> spec)
        Returns the number of instances that the given QuerySpecification will return.
        Parameters:
        spec - The query specification
        Returns:
        the number of instances.
      • deleteAll

        long deleteAll​(@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
                       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
                       UpdateSpecification<T> spec)
        Updates all entities matching the given UpdateSpecification.
        Parameters:
        spec - The update specification
        Returns:
        the number records updated.
      • updateAll

        long updateAll​(@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