@Override
    public List<Funcionario> Buscar(Funcionario obj) {
        // Corpo da consulta
        String consulta = "select f from Funcionario f WHERE f.ativo = 1 AND f.id != 0 ";

        // A parte where da consulta
        String filtro = " ";


        // Verifica campo por campo os valores que serão filtrados
        if (obj != null) {
            //Nome
            if (obj.getNome() != null && obj.getNome().length() > 0) {
                filtro += " AND f.nome like '%" + obj.getNome() + "%' ";

            }
            //Id
            if (obj.getId() != null && obj.getId() > 0) {

                filtro += " AND f.id like '%" + obj.getId() + "%'";

            }
            //Cpf
            if (obj.getCpf() != null && obj.getCpf().length() > 0) {

                filtro += " AND f.cpf like '%" + obj.getCpf() + "%'";

            }

            // Se houver filtros, coloca o "where" na consulta
            if (filtro.length() > 0) {
                consulta += filtro;
            }
        }

        // Cria a consulta no JPA
        Query query = manager.createQuery(consulta);

        // Executa a consulta
        return query.getResultList();

    }