Ajuda com getResultList

Boa Noite

Estou com um problema, tenho uns dados para serem salvo no banco, se nao existi, caso exista deve pega o resultado e e atualizar.

nao estou conseguindo pega o resultado de uma sql

meu codigo

private Servidor servidor;
    private ServidorCAIPP servidorCAIPP;
    private List<ServidorCAIPP> servidoresCAIPP;
    private GenericDAOImp<ServidorCAIPP, Integer> daoCAIPP;
    private GenericDAOImpServidor<Servidor, Integer> dao;
    private String msg;

 public String save() {
        try {
            // servidoresCAIPP = daoCAIPP.getAllByName("serv_cpf", servidor.getCpf());
            Query q = dao.query("SELECT s FROM Servidor s WHERE s.cpf = ?");
            q.setParameter(1, servidor.getCpf());
            if (q.getResultList().isEmpty()) {
                servidorCAIPP.setCargo(servidor.getCargo());
                servidorCAIPP.setCpf(servidor.getCpf());
                servidorCAIPP.setFuncao(servidor.getFuncao());
                servidorCAIPP.setMatricula(servidor.getMatricula());
                servidorCAIPP.setNome(servidor.getNome());
                servidorCAIPP.setSecretaria(servidor.getSecretaria());
                daoCAIPP.save(servidorCAIPP);
                init();
                msg = "Servidor Adicionado com Sucesso";
                return "/pages/servidor/cadastrarServidor.jsf?faces-redirect=true";
            } else {
                
                servidorCAIPP.equals(q.getResultList());
                daoCAIPP.update(servidorCAIPP);
                init();
                msg = "Servidor Atulizado com Sucesso";
                return "/pages/servidor/cadastrarServidor.jsf?faces-redirect=true";
            }
        } catch (Exception e) {
            e.printStackTrace();
            msg = "Algum erro aconteceu. Refaça os procedimentos e contate o suporte se o problema persistir" + e;
            return "/pages/servidor/cadastrarServidor.jsf?faces-redirect=true";
        }
    }

Obrigado pela ajuda

Ocorre algum erro durante a execução :?:

:thumbup:

O erro q ocorre e este
"GRAVE: ERROR: duplicate key value violates unique constraint “uk_servidor”"

Acho q tenho q pega o q.getResultList() e transforma no objeto que e “servidorCAIPP”, mas nao sei como fazer isso rsrs