Criar conversou com JSF 2 [Resolvido]

Oi gente , tudo bem,

estou tentando criar um conversor pra minha aplicação com JSF 2, porém to apanhando feio,

tenho em minha classe ‘Pessoas’, uma campo string com o nome pes_cpf(o pes é de pessoa), na hora de digitar no campo html, eu fiz uma mascara em Jquery que força a pessoa digitar 111.111.111-11, ou seja, ou pontos e o traço são inseridos automaticamente no campo, porem na hora de salvar os dados no banco de dados, ele deve salvar apenas os numeros, por exemplo 11111111111, sem os pontos e o traço, porém na hora de pesquisar ele deve retornar para a tela da mesma maneira que foi inserido, deve voltar 111.111.111-11, alguém poderia me dar uma ajuda de como fazer isso em JSF 2 usando anotações(pq nem uso o face.config)

Tava querendo criar um conversor, pq o JSF ja tem um q faz isso pra data, tava querendo fazer o mesmo para o CPF, fico grato caso alguém possa ajudar

@Entity
public class Pessoas implements Serializable {

    public Pessoas(){        
    }

    public Pessoas(String pes_cpf) {
        this.pes_cpf = pes_cpf;
    }

    @Id
    @SequenceGenerator(name="generator_pessoa",sequenceName="sequence_pessoa")
    @GeneratedValue(generator="generator_pessoa")
    private Integer pes_id;

    @ManyToOne
    //@ForeignKey(name="nomeTabela_fkey_nomeAtributo_01")
    @ForeignKey(name="pessoa_fkey_cidade_01")
    //@JoinColumn(name="baseadoNoAtributo")
    @JoinColumn(name="cid_id")
    private Cidade cidade;

    @ManyToOne
    @ForeignKey(name="pessoa_fkey_estado_01")
    @JoinColumn(name="est_id")
    private Estado estado;
        
    @Column(length=100)
    private String pes_prenome;

    @Column(length=100)
    private String pes_nome_meio;

    @Column(length=100)
    private String pes_sobrenome;

    @Column(length=100)
    private String pes_nome_pais_origem;

    @Column
    @Temporal(TemporalType.DATE)
    private Date pes_data_nascimento;

    @Column(length=100)
    private String pes_rg_num;

    @Column
    @Temporal(TemporalType.DATE)
    private Date pes_rg_dat;

    @Column(length=100)
    private String pes_rg_expedidor;

    @Column(length=100)
    private String pes_cpf;

    @Column(length=100)
    private String pes_telefone1;

    @Column(length=100)
    private String pes_telefone2;

    @Column(length=100)
    private String pes_telefone3;

    @Column
    private String pes_email_pessoal;

    @Column(length=100)
    private String pes_cep;

    @Column(length=100)
    private String pes_logradouro;

    @Column(length=100)
    private String pes_bairro;

    @Column(length=100)
    private String pes_numero;

    @Column(length=100)
    private String pes_complemento;

    @Column(length=100)
    private String pes_nom_completo;
//setters e getters

Veja se este EXEMPLO ajuda.

O exemplo do getAsString eu até entendi, mas o segundo, eu nao entendi.

Mas eu fi uma pesquisada e entendi melhor, ai ta o resultado, obrigado pela ajuda.

@FacesConverter("CpfConverter")
public class CpfConverter implements Converter {

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String newvalue) {
        String s = newvalue;
        s = StringUtils.replace(s, ".", "");
        s = StringUtils.replace(s, "-", "");
        return s.toString();
        /*
        StringBuilder str = new StringBuilder(newvalue);
        //System.out.println(str);
        str.deleteCharAt(3);
        str.deleteCharAt(6);
        str.deleteCharAt(9);        
        return str.toString();
         */
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        //11111111111
        //111.111.111-11 - como será exibido
        String v = value.toString();
        StringBuilder str = new StringBuilder(v);
        if (str.length() != 0) {            
            str.insert(3, ".");
            str.insert(7, ".");
            str.insert(11, "-");
            System.out.println("Parte String: " + str);
        }
        else
            System.out.println("tamanho: "+str.length());
        return str.toString();
    }
}

Na pagina xhtml eu usei

<tr>
<td>CPF:</td>
<td><h:inputText id="pesCpf" styleClass="cpf" value="#{gravaPessoas.pes_cpf}">
<f:converter converterId="CpfConverter"/>
</h:inputText></td>
</tr>