Olá pessoal, vi em muitos lugares o pessoal disponiblizando exemplos de DAOs Genericos, como estou estudando sobre o assunto, acabei pegando um desses exemplos, porém o metodo abaixo não estou sabendo como usa-lo de acordo com a sua proposta.
<a class="mention" href="/u/override">@Override</a>
public List list(Class classCheck, String jpql, Object…parametros) throws RuntimeException {
EntityManager em = ManagerController.getInstance().getEntityManager();
EntityTransaction tx = em.getTransaction();
Query query = em.createQuery(jpql);
List retorno = null;
try{
for(int i = 0; i < parametros.length; i++){
query.setParameter(i+1, parametros[i]);
}
retorno = query.getResultList();
tx.commit();
}catch(PersistenceException ex){
tx.rollback();
ex.printStackTrace();
}finally{
em.close();
}
return retorno;
}
Precisava que alguem pudesse me dar um exemplo de uso desse metodo com envio de parametros. Eu consigo usar fazendo dessa forma:
List lista = serviceIp.list(Ip.class, “SELECT i FROM Ip i” );
Mas se tento passar paramentros para uma consulta do tipo
List lista = serviceIp.list(Ip.class, “SELECT i FROM Ip i WHERE i.estado=:estado AND i.cidr=:cidr”);
Não sei como montar os parametros de forma correta, sempre dá o erro:
Exception in thread “main” java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1]
Muito obrigado a todos.