Hibernate - Bug em Restrictions

Caros,

tenho um campo data mapeado da seguinte forma:

@Column
	@Temporal(TemporalType.TIMESTAMP)
	Date data;

Quero fazer uma consulta que retorne objetos cadastrados dentro de um determinado intervalo.Segue o código:

if(filtro.getDataInicial()!=null){
			criteria.add(Restrictions.ge("data", filtro.getDataInicial()));
		}
		
		if(filtro.getDataFinal()!=null){
			criteria.add(Restrictions.le("data", filtro.getDataFinal()));
		}

Meu problema é por ex:tenho registros dos dias 15/09/2011 e 16/09/2011, e se eu tentar fazer uma consulta com dataInicial=15 e dataFinal = 16 me retorna apenas os registros do dia 15. Estou fazendo algo de errado?

ta certo oq vc esta fazendo… tem registro no banco?

Sim.

vc debugou e ele ta entrando nos ifs?

No banco esse campo é do tipo timestamp WITH TIMEZONE,será que isso impacta em algo?

vc debugou e ele ta entrando nos ifs?[/quote]

Está sim.

é Sql server? use “datetime” e roda de novo para ver se funciona

é Sql server? use “datetime” e roda de novo para ver se funciona[/quote]

Postgres

é Sql server? use “datetime” e roda de novo para ver se funciona[/quote]

Postgres[/quote]

Cara, seguinte insere no banco duas linhas e monta um select no braço…

se nao for isso nao sei mas oq pode ser…

Provavelmente os teus registos têm a hora definida. E os teus filtros não. E assim estás a procurar os registos entre 15/09/2011 00:00:00 e 16/09/2011 00:00:00.
Dessa forma, todos os registos de 16 depois da meia noite não são devolvidos.

se tu quer considerar apenas a data, muda a tua anotação temporal para Date. como pmlm o teu filtro deve está considerando apenas a data.

flw.