Retorno between date nulo

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.

[code]
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());
}

}[/code]

[code]

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;
}[/code]

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.

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.