Alguém sabe como faço para passar o parâmetro de uma NamedQuery para um método getList de um DAO genérico?
Eu faço uma chamada ao método dessa forma:
daoRNC.getList(this.rnc.getClass(), “Tbrnc.findByCnpj”,this.varEmpresa);
E recebo a seguinte mensagem:
java.lang.IllegalArgumentException: You have attempted to set a parameter at position 1 which does not exist in this query string SELECT t FROM Tbrnc t WHERE t.cnpj = :cnpj.
Segue código do método:
public List getList(Class classToCast,String jpql, Object… parameters) {
List toReturn = null;
Query qr = entityManager.createNamedQuery(jpql);
for (int i = 0; i < parameters.length; i++) {
qr.setParameter(i + 1, parameters[i]);
}
entityManager.getTransaction().begin();
toReturn = qr.getResultList();
entityManager.getTransaction().commit();
entityManager.close();
return toReturn;
}