estou aprendendo Hibernate e estou uma uma duvida.
Qual a diferença entre Session x Criteria?
Em alguns tópicos vi que quando é usado Session do Hibernate a aplicação perde um pouco a performance. alguém pode me dar um Help sobre isso?
Estou com 2 tipos de consulta. e estou em dúvida de qual a diferença entre elas e qual a melhor forma de usar;
Exemplo 1
CriteriaBuilder builder = manager.getCriteriaBuilder(); //cria Builder
CriteriaQuery<Aluguel> criteriaQuery = builder.createQuery(Aluguel.class); //cria a query;
Root<Aluguel> a = criteriaQuery.from(Aluguel.class);//cria consulta;
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)));
}