Senhores,
Estou fazendo testes com Hibernate para efetuar busca para grande quantidade de registros (mais de 1000000), no entanto encontrei dificuldades ao utilizar o critério de busca para campos que armazenam datas. “crit.add(Expression.between(“livroDiarioPK.ldiaDatLancto”,data, data2));”.
Quando incluída esta linha, é retornado um valor nulo para a lista. Caso esta linha seja removida, o resultado é apresentado corretamente (filtro por empsCod e filiCod).
Gostaria por que ao utilizar esta linha ocorre este erro?
Abaixo segue o código completo.
Valew :shock:.
public List<LivroDiario> procuraTodos(int inicial){
Calendar data = new GregorianCalendar(2005,12,01);
Calendar data2 = new GregorianCalendar(2005,12,05);
session.flush();
session.clear();
// Critério para seleção
Criteria crit = this.session.createCriteria(LivroDiario.class);
crit.setMaxResults(1000);
crit.setFirstResult(inicial);
crit.add(Restrictions.eq("livroDiarioPK.empsCod","001"));
crit.add(Restrictions.eq("livroDiarioPK.filiCod","002"));
crit.add(Expression.between("livroDiarioPK.ldiaDatLancto",data, data2));
List lista = crit.list();
return lista;
}