Comecei meus estudos em JPA e Hibernate só que estou com uma duvida referente ao Critéria e possuo 2 exemplos usando Critéria, e estou pouco confuso:
Exemplo 1:
CriteriaBuilder buider = em.getCriteriaBuilder();
CriteriaQuery<Cliente> criteriaQuery = builder.createQuery(Cliente.class);
criteriaQuery.from(Cliente.class); //fazendo um tipo de consulta.
TypedQuery<Cliente> query = em.createQuery(criteriaQuery);
List<Cliente> clientes = query.getResultList();
Exemplo 2
Session session = this.manager.unwrap(Session.class);
Criteria criteria = session.createCriteria(Aluguel.class);
if (dataEntrega != null) {
criteria.add(Restrictions.between("dataEntrega"
, geraDataInicial(dataEntrega), geraDataFinal(dataEntrega)));
}