Estou com um problema aqui… e as soluções encontradas, inclusive aqui no forum, não estão resolvendo.
Tenho o seguinte método:
public List ListaPaises(String NomePais) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Vestibulando_ManagerPU");
EntityManager em = emf.createEntityManager();
List<Pais> result = null;
try {
result = em.createNamedQuery("Pais.findByNomePais")
.setParameter("nomePais", NomePais)
.getResultList();
} catch (Exception e) {
e.printStackTrace();
}
return (result);
}
Quando envio Brasil na string ele acha perfeitamente. Agora preciso que se eu enviar B ele ache brasil, bolívia, e etc… ou seja um LIKE. Nas soluções que encontrei diz para alterar assim:
.setParameter("nomePais", "%" + NomePais)
ou
.setParameter("nomePais", "%" + NomePais + "%")
Mas em nenhum deles deu certo. Quando faço isto ele não retorna nada, nem uma exception. =/
Alguma ajuda?
Tópicos com mesmo problema que eu mas não resolveu:
Queria fazer com named, se não for possível parto para o createquery, mas não queria ter SQL solto no código.