Duvida com dataTable

Pessoal estou com uma duvida, tenho os relacionamentos das minhas tabelas mapeados da seguinte forma:

Usuario, Endereco e Login.
Onde:
Usuario tem vários endereços (1…x)
e
Usuario tem um Login (1…1)

Na hora de mapear no meu dataTable fica da seguinte forma:

<rich:dataTable value="#{usuarioBean.usuarios}" var="usuario" onRowMouseOver="this.style.backgroundColor='#F8F8F8'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" rowClasses="cur"> <rich:column> <f:facet name="header">Id</f:facet> <h:outputText value="#{usuario.id}" /> </rich:column> <rich:column> <f:facet name="header">Nome</f:facet> <h:outputText value="#{usuario.nome}" /> </rich:column> <rich:column> <f:facet name="header"> Telefone </f:facet> <h:outputText value="#{usuario.telefone}" /> </rich:column> <rich:column> <f:facet name="header">Idade</f:facet> <h:outputText value="#{usuario.idade}" /> </rich:column> <rich:column> <f:facet name="header">Rua</f:facet> <h:outputText value="#{usuario.endereco.rua}" /> </rich:column> <rich:column> <f:facet name="header">Número</f:facet> <h:outputText value="" /> </rich:column> <rich:column> <f:facet name="header">Bairro</f:facet> <h:outputText value="" /> </rich:column> <rich:column> <f:facet name="header">Pais</f:facet> <h:outputText value="" /> </rich:column> <rich:column> <f:facet name="header">Login</f:facet> <h:outputText value="#{usuario.login.nomeLogin}" /> </rich:column> </rich:dataTable>

Pessoal, o problema é que a tag <h:outputText value="#{usuario.endereco.rua}" /> não está funcionando. É gerado o seguinte erro:

Caused by: javax.faces.FacesException: javax.el.PropertyNotFoundException: /telas/usuario/listarUsuario.xhtml @47,57 value="#{usuario.endereco.rua}": The class 'java.util.LinkedHashSet' does not have the property 'rua'. at javax.faces.component.UIOutput.getValue(UIOutput.java:176) at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:327) ... 59 more Caused by: javax.el.PropertyNotFoundException: /telas/usuario/listarUsuario.xhtml @47,57 value="#{usuario.endereco.rua}": The class 'java.util.LinkedHashSet' does not have the property 'rua'. at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:73) at javax.faces.component.UIOutput.getValue(UIOutput.java:173) ... 60 more

Alguem pode me ajudar com isso?

Grato!

entao, vc n pode chamar o #{usuario.endereco.rua} pq o var q vc definiu no datatable so tem o conteudo da lista q foi gerada, e nada mais do q isso, vc teria q ter #{usuario.rua} ai funcionaria, provavelmente no #{usuario.login.nomeLogin} vai da o mesmo erro…

guimoz,

Na verdade o <h:outputText value="#{usuario.login.nomeLogin}" /> funciona normalmente.

Vou postar meus métodos pra ver se melhora um pouco.

Bean:

[code]public class UsuarioBean {

private Usuario usuario;
private Endereco endereco;
private Login login;
@SuppressWarnings("unchecked")
private UsuarioDAOImpl usuarioDaoImpl;
@SuppressWarnings("unused")
private String resultado;
private List<Usuario> usuarios;

//get´s e set´s

@SuppressWarnings("unchecked")
public List<Usuario> getUsuarios() {
	usuarios = new ArrayList<Usuario>();
	usuarios = usuarioDaoImpl.listar();
	return usuarios;
}

}[/code]

Dao:

[code]
public abstract class GenericDAOImpl implements GenericDAO {

SessionFactory sf;
Session session;

public GenericDAOImpl() {
	this.sf = new AnnotationConfiguration().configure("/hibernate.cfg.xml")
			.buildSessionFactory();
}

@SuppressWarnings("unchecked")
@Override
public List<T> listar() {
	List objects = null;
	try {
		session = sf.openSession();
		@SuppressWarnings("unused")
		Transaction tx = session.beginTransaction();
		Query select = session.createQuery("Select u from Usuario u");
		objects = select.list();
		session.close();
		System.out.println("\nNAO LANCOU EXCECAO!!!");
	} catch (HibernateException he) {
		System.out.println("LANCOU EXCECAO!!!");
		he.printStackTrace();
	}
	return objects;
}

}[/code]