In the Spring Data JPA - Reference Documentation, a criteria is defined by:
Writing a criteria you actually define the where-clause of a query for a domain class.
Specifications and predicates seem to have the same role.
What is the difference between a criteria, a predicate and a specification?