Retorno between date nulo

2 respostas
V

Criei um método para listar todos os objetos que estão dentro de um intervalo de datas entretanto a lista
retornada é apenas 0. Gostaria de saber o que estou fazendo de errado na consulta ou no main em que chamo
a consulta agradeço ajuda.

public static void main(String[] args) {
		
		Date d1=new Date(2011,6,20);
		
		Date d2 = new Date(2011,6,30);
		
		//data d3= new Da
		
		
		RepositorioProva rp= new RepositorioProva();

		System.out.println(d1);
		System.out.println(d2.toString());

			System.out.println(rp.listarProvas(d1,d2, "CEMA").size());
	}
}
public Collection<Prova> listarProvas(Date dataInicio, Date dataFim, String instituicao) {

		boolean status=true;
		
		session = CreateSessionFactory.openSession();
		tx=session.beginTransaction();
		
		List c1= session.createCriteria(Prova.class).add(Restrictions.between("dataInicio", dataInicio, dataFim))
		.add(Restrictions.eq("status", status)).add(Restrictions.eq("instituicao.identificador", instituicao).ignoreCase()).list();
	

		return c1;
	}

2 Respostas

drsmachado

Bom, esta consulta irá considerar não apenas o intervalo de datas, mas os demais restrictions também (status e identificador da instituição).
Sugiro testar somente com o intervalo de datas e ir acrescentando os demais, para ver se a falha se repete.

V

Era problema na passagem os parametros. Mas me ocorreu outra dúvida no nesse método estou passando dois parâmetros e lá no banco cada objeto meu têm
uma dataInicio e dataFim. Como posso fazer pra que o hibernate pegue todos os objetos em que suas datas inicio e fim estejam dentro desse intervalo que estou
passando como atributo agradeço ajuda.

Criado 30 de junho de 2011
Ultima resposta 30 de jun. de 2011
Respostas 2
Participantes 2