Olá, estou tentando fazer uma consulta dinamica no banco de dados, mas tenho um campo “Código” que é do tipo Long, mas ela esta me retornando com erro a pesquisa, o erro é " java.lang.IllegalArgumentException: Parameter value [133%] did not match expected type [java.lang.Long (n/a)]"
public List<Produto> filtro(String nome, String apelido,String codigo) {
EntityManager em = ConnectionFactory.getEntityManager();
String hql = "select p from Produto p where p.nome like :nome ";
if(apelido !=null){
hql += "and p.apelido like :apelido ";
}if(codigo != null){
hql += "and p.codigo like :codigo";
}
TypedQuery<Produto> typedQuery = em.createQuery(hql, Produto.class);
typedQuery.setParameter("nome", nome+"%");
typedQuery.setParameter("apelido",apelido+"%");
typedQuery.setParameter("codigo",Long.valueOf(codigo)+"%");
return typedQuery.getResultList();
}