So here is my filter
@NamedQueries({
@NamedQuery(name = "Doencas.findAll", query = "select d from Doencas d"),
@NamedQuery(name = "Doencas.findFilter", query = "select d from Doencas d" + " WHERE UPPER( d.nome ) like :filtro or UPPER (d.sintomas) like :filtro")
})
It is working, but only filters one word at a time, for example, if I type Pain and vomit, it will not filter the symptoms of diseases that have pain and vomit but if I type only vomit it appears all the diseases it contains the symptom of vomiting Here you also have my DAO file if needed
package dao;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import Modelo.Doencas;
public class DoencasDAO{
protected EntityManager em;
public DoencasDAO() {
EntityManagerFactory emf;
try {
emf = Conexao.getConexao();
em = emf.createEntityManager();
} catch (Exception ex) {
Logger.getLogger(DoencasDAO.class.getName()).log(Level.SEVERE, null, ex);
Logger.getLogger("Não foi possível realizar a conexão com a unidade de persistência. Verifique a conexão");
}
}
public Boolean incluir(Doencas obj) {
Boolean retorno;
try {
em.getTransaction().begin();
em.persist(obj);
em.getTransaction().commit();
retorno = true;
} catch (RuntimeException e) {
Logger.getLogger(Doencas.class.getName()).log(Level.SEVERE, null,
e);
Logger.getLogger("Erro ao incluir, veja o código acima");
em.getTransaction().rollback();
retorno = false;
throw e;
} finally {
//em.close();
}
return retorno;
}
public Boolean alterar(Doencas obj) {
Boolean retorno;
try {
em.getTransaction().begin();
em.merge(obj);
em.getTransaction().commit();
retorno = true;
} catch (RuntimeException e) {
Logger.getLogger(DoencasDAO.class.getName()).log(Level.SEVERE, null, e);
Logger.getLogger("Erro ao alterar, veja o código acima");
em.getTransaction().rollback();
retorno = false;
throw e;
} finally {
// em.close();
}
return retorno;
}
public Boolean excluir(Doencas obj) {
Boolean retorno;
try {
em.getTransaction().begin();
em.remove(obj);
em.getTransaction().commit();
retorno = true;
} catch (RuntimeException e) {
Logger.getLogger(DoencasDAO.class.getName()).log(Level.SEVERE, null, e);
Logger.getLogger("Erro ao excluir, veja o código acima");
em.getTransaction().rollback();
retorno = false;
} finally {
//em.close();
}
return retorno;
}
public List<Doencas> listar() {
return em.createQuery("Select d from Doencas d").getResultList();
}
public List<Doencas> listar(String filtro){
return
em.createNamedQuery("Doencas.findFilter").setParameter("filtro","%" +
filtro.toUpperCase() + "%").getResultList();
}
public Doencas buscarPorChavePrimaria(Integer chaveprimaria) {
return em.find(Doencas.class, chaveprimaria);
}
public void fecharConexao() {
Conexao.closeConexao();
}
}