Estou precisando de um método para incluir no meu Dao que
busque os registro entre uma data
esse é meu método dao
public List<NF> listarNf(Cli cliente,int mes,int ano){
session = HibernateUtil.getSessionFactory().openSession();
try {
Criteria cri = session.createCriteria(NF.class);
cri.add(Restrictions.eq("codcliente", cliente.getCod()));
//cri.add(Restrictions.between("dataemissao", data baixa , data alta ));
return cri.list();
} finally {
session.close();
}
}
Minha duvida é como incluir na data baixa e alta o mês e o ano, e se o Mysql consegue interpretar ou o proprio java
o ultimo dia do mês. Na minha base de dados a data é do tipo date e “yyyy-MM-dd”
Agradeço desde ja.
Talvez isto o ajude.
Lembrando que esta solução é feita com a classe Calendar.
Para transformar Calendar em Date:
Calendar cal = Calendar.getInstance();//crio uma nova data calendar, pegando a data atual
java.util.Date dataDate = new java.util.Date(cal.getTimeInMillis());//Criei um objeto Date a partir de um objeto Calendar
Vlws pela dica e consegui resolver,
criei 2 instancia da Classe calendar e utilizei o método set
que passa 3 inteiros, uma com o dia inicial e outra com o dia final do mes
calendar.set(ano, mes-1,1,0,0,0);
calendar2.set(ano,mes-1,calendar.getActualMaximum(calendar.DAY_OF_MONTH),0,0,0);
depois utilizei o Date do sql para realizar a busca e funcionou
Criteria cri = session.createCriteria(Nf.class);
cri.add(Restrictions.eq("codcliente",codcliente));
cri.add(Restrictions.between("dataemissao", new java.sql.Date(calendar.getTimeInMillis()), new java.sql.Date(calendar2.getTimeInMillis())));
return cri.list();
Muito obrigado o link q você me mandou ajudou muito.