public interface CustomerRepository extends CrudRepository<Customer, Long>, JpaSpecificationExecutor<Customer> {
}
JpaSpecificationExecutor nous donne la méthode List<T> findAll(Specification<T> spec)
Et l'interface Specification est la suivante
public interface Specification<T> {
Predicate toPredicate(Root<T> root,
CriteriaQuery<?> query,
CriteriaBuilder builder);
}