Ok, now I see what's going on... You can't use Set in data table. You have to use some ordered collection. see this question for detail.... I would suggest create a new Method
public List<ContatoPessoa> getContatoPessoasList() {
return new ArrayList<ContatoPessoa>(contatoPessoas);
}
and change your binding to: value="#{pessoaMB.pessoa.contatoPessoasList}"