Como setar uma collection JSF

1 resposta
Deluxe

Pessoal

qual o jeito correto…
estou fazendo assim, mas creio que nao seja o correto

Tenho uma classe Pessoa

public class Pessoa{

	private Long id;
	private String nome;
	private Collection<Endereco> endereco;

e uma classe Endereco

public class Endereco {

	private Long id;
	private String end;

	@ManyToOne(fetch=FetchType.LAZY )
	@JoinColumn (name="ID_PESSOA", nullable = false)
	private Pessoa pessoa;

Ou seja, uma pessoa pode ter varios Endereço
na minha pagina de cadastro está assim

Aqui cadastro um nome de uma pessoa

<h:outputText value="Nome" styleClass="label"></h:outputText>
<h:inputText size="25" value="#{pessoaBean.pessoa.nome}" />

Aqui castro um endereco

<h:outputText value="Endereco" styleClass="label"></h:outputText>
<h:inputText size="25" value="#{pessoaBean.endereco.end}" />

Na hora de mandar o objeto pro metodo salvar
eu faço assim pra setar

pessoa.setEndereco(new HashSet<Endereco>());
endereco.setPessoa(pessoa);
pessoa.getEndereco().add(endereco);
	
pessoaFacade.createOrUpdatePessoa(pessoa);

ou seja, eu abro o objeto Pessoa, crio uma HashSet, e seto o objeto endereco…
resumindo, no final das conta meu objeto pessoa, esta com os dados dele e os dados da collections (endereco)

assim funciona, mas acho que não faz assim…
qual seria outro jeito ?

1 Resposta

anderson.bonavides

Deluxe isso ta correto, desconheço alguma outra forma de add a uma collection fora essa maneira e acho que os demais devem concordar.

pessoa.setEndereco(new HashSet<Endereco>()); endereco.setPessoa(pessoa); pessoa.getEndereco().add(endereco);

Assim vc pode add mais endereços a pessoa, ou seja, uma pessoa pode ter um ou vários endereços na sua abordagem. Se ele tiver endereço d+ ai vai ser filho da torcida do flamengo ou do Corinthias. haha “brincadeira”
Você pode fazer isto:

pessoa.getEndereco().add(endereco1); pessoa.getEndereco().add(endereco2); pessoa.getEndereco().add(endereco3);

Criado 24 de abril de 2009
Ultima resposta 24 de abr. de 2009
Respostas 1
Participantes 2