Salve, salve!
Aprendi um pouco de Java na faculdade, depois me “aprofundei” por conta própria, e acredito que por isto eu não esteja utilizando as coisas como deveria ser…
Utilizo o Like da seguinte forma:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("artezy");
EntityManager em = emf.createEntityManager();
List<PfLocal> result = null;
try {
result = em.createNamedQuery("PfLocal.findLikeNomeLocal")
.setParameter("nomeLocal", "%" + NomeLocal + "%")
.getResultList();
} catch (Exception e) {
e.printStackTrace();
}
return (result);
E no PfLocal tenho o seguinte código:
@Entity
@Table(name = "pf_local")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "PfLocal.findAll", query = "SELECT p FROM PfLocal p"),
@NamedQuery(name = "PfLocal.findByNome", query = "SELECT p FROM PfLocal p WHERE p.nome = :nome"),
//Queries Personalizadas
@NamedQuery(name = "PfLocal.findLikeNomeLocal", query = "SELECT p FROM PfLocal p Where p.nome LIKE ':nomeLocal' ORDER BY p.nome"),
})
Isto funciona perfeitamente, mas recentemente comecei a utilizar também os controladores gerados pelo net beans que ja vem com os eventos create, destroy, edit, variações de find { public PfLocal findPfLocal(Integer id) - public List findPfLocalEntities() - public List findPfLocalEntities(int maxResults, int firstResult) - private List findPfLocalEntities(boolean all, int maxResults, int firstResult) } mas Nenhum com like.
Isto de fato não é gerado? O modo correto é criar a query manual, lembrando que uso a mesma query de like em varios locais, então é mais sensato eu deixar ela ou no controlador ou no modelo para ser utilizada por todos.
Aguardo ajuda.
att.
ps.: Qual esta sendo mais utilizado o Forum ou o Respostas??? kk
