Java.lang.illegalArgumentException

1 resposta
V

Estou com esse erro sendo apresentado nessa query mas eu já setei o setDate no createQuery e o erro persiste
como resolver. agradeço a ajuda.

java.lang.illegalArgumentException: Parameter dateInicio does not exist as named parameter in ...

@SuppressWarnings("unchecked")
	public Collection<Prova> listarProvas(Date dateInicio, Date dateFim, String instituicao) {

		
		ArrayList<Prova>lista= new ArrayList<Prova>();
		
		boolean status=true;
		
		session = CreateSessionFactory.openSession();
		
		String hql="from Prova p where (dateInicio between p.dataInicio and p.dataFim or dateFim between p.dataInicio and p.dataFim)";
		
		lista=(ArrayList<Prova>) session.createQuery(hql).setDate("dateInicio", dateInicio).setDate("dateFim", dateFim).list();
						

		return lista;
	}

1 Resposta

drsmachado

Repare que você coloca na String "from Prova p where (dateInicio between p.dataInicio and p.dataFim or dateFim between p.dataInicio and p.dataFim)" p.dataInicio e coloca no setDate dateInicio.

Realmente, dateInicio não existe no contexto.

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