Alguém sabe com posso fazer uma busca no oracle usando um filtro e datas?
eu tenho um filtro com nome, nomeContato, telefoneContato e situacao que são atributos de um entity e duas data.
assinatura do método:
public List findByFiltro(Orgao filtro, Date dataInicial, Date dataFinal)
estava pensando em fazer algo tipo:
listaOrgao = getHibernateTemplate().findByExample(filtro);
mas não sei como mecho com as datas ai no meio.
o outro jeito era montando a query na mão mais também ta meio complicado porque eu não sei fazer isso muito bem não, por que a pesquisa pode ser por qualquer um ou por todos os atributos.
Você pode fazer o seguinte :
public List<Orgao> findByFiltro(Orgao filtro, Date dataInicial, Date dataFinal) {
DetachedCriteria criteria = DetachedCriteria.forClass(Object.class).add(
Example.create(filtro).enableLike(MatchMode.ANYWHERE)
.ignoreCase().setPropertySelector(this));
criteria.add(Expression.gt("atributoDateDoObjetoOrgao", dataInicial));
criteria.add(Expression.lt("atributoDateDoObjetoOrgao", dataFinal));
return this.hibernateTemplate.findByCriteria(criteria);
}
Esta sua classe deve implementar PropertySelector
[]'s
Valeu marciobarroso me ajudou demais!!!
agora eh so fussar esse treco pra entender direito.