Consultar registro por intervalo de datas

Pessoal boa tarde,

Estou com um probleminha que está me tirando os cabelos…

Estou precisando fazer uma consulta no banco de dados de um intervalo de datas que esta gravado no banco com o seguinte formato “yyyy-MM-dd”, estou usando JPA hibernate, como poderia fazer isso?

vc pode usar SQLQuery

veja.

public class Datas{
   //nesta classe eu tenho metodos q tratam minhas datas...se quiser te mando depois
  
  public String formataDataRetornaBD(String data) throws ParseException{
        //veja este metodo....ele recebe uma String como dia/mes/ano e retorna ano/mes/dia
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        Date d = df.parse(data);
        df = new SimpleDateFormat("yyyy-MM-dd");
        String s = df.format(d);
        return s;
    }
}



SQLQuery query = session.createSQLQuery("SELECT * FROM tabela WHERE campodatatabela BETWEEN dataInicial = ? AND dataFinal = ?");
query.setParameter(1, new Datas().formataDataRetornaBD(dataInicial.getText()));
query.setParameter(2, new Datas().formataDataRetornaBD(dataFinal.getText()));

t+ e boa sorte.

O meu problema não é com a data que vem do BD e sim com a data que eu passo como parametro para fazer a pesquisa

eh exatamente o que esse metodo q te passei faz, ele converte de dd/mm/aaaa para aaaa/mm/dd…Faz o teste em um System.out.println() q vc vai ver o retorno dele. Ai eh soh mandar pro banco q ele se encarrega de retornar pra vc.

t+ e boa sorte !

Mas ao usar JPA não temos o Dialect do Banco setado, bastando para isso passar como Parâmetro um Objeto do tipo Date ???

Desculpem se falei besteira, mas pensei que o ORM da JPA tirasse essa responsabilidade.

Abs []

Segue em anexo um exemplo que fiz… Se bem que é com a JPA 2.0

Abs []