public List pesquisaProduto(Produto produto, Integer tipoPesquisa, String porPesquisa) { if (produto.getDescricao().isEmpty()) { return new ArrayList(); } try { String por; if (porPesquisa.equals("Inicial")) { por = ""; } else { por = "%"; } String descricao = por + produto.getDescricao() + "%"; String queryString = "" + "SELECT P.* \n" + " FROM est_produto AS P \n" + " WHERE trim(UPPER(func_translate(P.ds_descricao))) LIKE trim(UPPER(func_translate('" + descricao + "'))) \n" + " OR ( \n" + " trim(UPPER(func_translate(P.ds_modelo))) LIKE trim(UPPER(func_translate('" + produto.getDescricao() + "'))) \n" + " OR trim(UPPER(func_translate(P.ds_marca))) LIKE trim(UPPER(func_translate('" + produto.getDescricao() + "'))) \n" + " OR trim(UPPER(func_translate(P.ds_fabricante))) LIKE trim(UPPER(func_translate('" + produto.getDescricao() + "'))) \n" + ") \n" + "ORDER BY P.ds_descricao \n" + " "; Query query = getEntityManager().createNativeQuery(queryString, Produto.class); List list = query.getResultList(); if (!list.isEmpty()) { return list; } } catch (Exception e) { return new ArrayList(); } return new ArrayList(); }