fiz um método pra ficar genérico em minha aplicação
protected <T extends Serializable> List<T> getPureList(Class<T> classToCast, String query, Object... parametros) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for(int i = 1;i <= parametros.length; i++) {
qr.setParameter(i, parametros[i-1]);
}
List<T> retorno = qr.list();
ses.getTransaction().commit();
ses.close();
return retorno;
}
mas ao executar esse método
public List<EscolaTO> getEscolaByNome(int nome) {
return getPureList(EscolaTO.class, "FROM EscolaTO esc WHERE esc.nome = ?1", nome);
}
gera o seguinte erro
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
at org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterDescriptor(ParameterMetadata.java:79)
at org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterExpectedType(ParameterMetadata.java:85)
at org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:421)
at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:393)
at DAO.GenericDAO.getPureList(GenericDAO.java:81)
o que pode estar errado??
