Renderizando com EL no JSF com 3 classes

Amigos,

EU tenho as classes modelos : Pessoa, Endereco e Telefone.
No meu ManageBean (PessoaBean), estou montando um dataTable para renderizar as informações que forem sendo cadastras (nome, endereço e telefone), porém estou tendo dificuldade quando vou renderizar as informações de endereço e telefone. Só consigo renderizá-las se criar outro dataTable.

Como posso trabalhar com um único dataTable? Pois criando outro dataTable fico com problemas para alteração e exclusão.

Obs: Estou utilizando Hibernate+JSF

Abraços

Se todos os objetos estiverem ligados a pessoa, você poderia fazer:
#{pessoa.nome}
#{pessoa.carro.cor}
#{pessoa.endereco.rua}

Agora, se forem objetos distintos, aí não tem como não. A não ser que você crie uma classe para agrupar os 3. O.o

Amigo,

Então, eles estão mapeadas:

Classe Pessoa[u]

[code]@OneToMany(mappedBy = “pessoa”, targetEntity = Endereco.class)
private Endereco endereco;

@OneToMany(mappedBy = “pessoa”, targetEntity = Telefone.class)
private Telefone telefone;[/code]

Classe Endereço[/u]

@ManyToOne private Pessoa pessoa;

Classe Telefone[/u]

@ManyToOne private Pessoa pessoa;

Tentei percorrer da forma que disse:

#{pessoa.telefone.numero}

Mas não puxa nenhum valor!

Primeiro você precisa aprender a utilizar o mapeamento corretamente.

Aqui mostra como utilizar OneToOne, OneToMany e ManyToMany do modo certo: JPA: Mini Livro - Primeiros passos e conceitos detalhados.

Meu amigo Hebert,

Desculpe se não te fiz entender…escrevi a classe rápida no trabalho só para ter ideia do que eu estava falando, não se atenha ao código para o Hibernate. Mas, como o amigo quer me ajudar, segue o código de forma integral:

Classe Pessoa:

package com.souza.modelo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
public class Pessoa {

	@Id
	@GeneratedValue
	@Column(name = "id_pessoa")
	private Integer id;
	private String nome;

	@OneToMany(mappedBy = "pessoa")
	//private List<Endereco> end1;
	private Endereco endereco;

	@OneToMany(mappedBy = "pessoa")
	//private List<Telefone> tel1;
	private Telefone telefone;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Endereco getEnd1() {
		return endereco;
	}

	public void setEnd1(Endereco end1) {
		this.endereco = end1;
	}

	public Telefone getTel1() {
		return telefone;
	}

	public void setTel1(Telefone tel1) {
		this.telefone = tel1;
	}


	
}

Classe Endereço

[code]package com.souza.modelo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
public class Endereco {

@Id
@GeneratedValue
@Column(name="id_end")
private Integer idEnd;
private String logradouro;
private String bairro;
private String complemento;
private String cep;

@ManyToOne//(fetch = FetchType.EAGER)
@JoinColumn(name="id_pessoa")
private Pessoa pessoa;

public Integer getIdEnd() {
	return idEnd;
}

public void setIdEnd(Integer idEnd) {
	this.idEnd = idEnd;
}

public String getLogradouro() {
	return logradouro;
}

public void setLogradouro(String logradouro) {
	this.logradouro = logradouro;
}

public String getBairro() {
	return bairro;
}

public void setBairro(String bairro) {
	this.bairro = bairro;
}

public String getComplemento() {
	return complemento;
}

public void setComplemento(String complemento) {
	this.complemento = complemento;
}

public String getCep() {
	return cep;
}

public void setCep(String cep) {
	this.cep = cep;
}

public Pessoa getPessoa() {
	return pessoa;
}

public void setPessoa(Pessoa pessoa) {
	this.pessoa = pessoa;
}

}[/code]

Classe Telefone

[code]package com.souza.modelo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
public class Telefone {

@Id
@GeneratedValue
@Column(name="id_tel")
private Integer idTel;
private Integer ddd;
private Integer numero;

@ManyToOne//(fetch = FetchType.EAGER)
@JoinColumn(name="id_pessoa")
private Pessoa pessoa;

public Integer getIdTel() {
	return idTel;
}

public void setIdTel(Integer idTel) {
	this.idTel = idTel;
}

public Integer getDdd() {
	return ddd;
}

public void setDdd(Integer ddd) {
	this.ddd = ddd;
}

public Integer getNumero() {
	return numero;
}

public void setNumero(Integer numero) {
	this.numero = numero;
}

public Pessoa getPessoa() {
	return pessoa;
}

public void setPessoa(Pessoa pessoa) {
	this.pessoa = pessoa;
}

}
[/code]

O amigo, tem como me ajudar?

Abraço.