Problemas com HashSet e expressões El

Olá amigos, eu estou com o seguinte poblema. Estou tentando usar uma dataList do richfaces e passar para ele um HashSet para que ele navegue pela minha coleção. Porém recebo esse erro:

Caused by: javax.el.PropertyNotFoundException: /paginas/clienteCadastro.xhtml @464,96 value="#{telefone.tipoTelefone.nome}":
Property ‘tipoTelefone’ is not found on type: java.util.HashSet

Gostaria de saber se alguém tem alguma solução.

Obrigado.

Obs: O HashSet é para eu já conseguir setar as minhas propriedades direto no banco através do jpa do ejb.

Caso tenha sido obscuro posso tentar ser mais claro.

Conto com a ajuda de vocês.

Acabei de ter este mesmo problema e consegui resolvê-lo.

Seguindo uma dica de um colega de trabalho, troquei o tipo ‘Set’ e ‘HashSet’ para ‘List’ e ‘ArrayList’ na entidade anotada por JPA. Aparentemente o rich:dataTable não funciona bem com HashSet.

E se quiser ter um dataModel sem valores duplicados?

Posta seu código.

O atributo “tipoTelefone” foi encapsulado (get/set) ?

Quando dei a resposta acima, eu estava num curso. Não tenho mais o código-fonte. Eu nunca mais trabalhei com isso e não lembro mais como usa.

O que eu posso agora é dar a seguinte referência:

http://community.jboss.org/message/31027

Lá confirma que o datatable não aceita HashSet e dá uma sugestão para convertê-lo para list:

Set<String> entidadeTipoSet = ... ... List<String> entidadeTipoList = new ArrayList<String>( entidadeTipoSet );

Talvez dê para implementar um conversor de tipo (Set para List) apenas para a apresentação. Internamente, mantenha o tipo HashSet para detectar e evitar valores duplicatos. Não sei se o que eu disse faz sentido para o seu caso.