Dúvida JSF com JPA/Hibernate

0 respostas
josimarsis

Galera estou iniciando em JSF, JPA/Hibernate e estou tentando fazer o seguinte Teste:
Uma pessoa pode ter:
- 2 Telefones;
- 2 Emails

No meu enterprise java bean PessoaFacade eu tenho o seguinte método:
public Pessoa edit(Pessoa pessoa) {
        return em.merge(pessoa);
    }
No meu enterprise java bean EmailFacade eu tenho o seguinte método:
public Email edit(Email email) {
        return em.merge(email);
    }
No meu enterprise java bean TelefoneFacade eu tenho o seguinte método:
public Telefone edit(Telefone telefone) {
        return em.merge(telefone);
    }
No meu managedBean eu tenho o seguinte metodo salvar():
public String salvar(){
        Pessoa p = pessoaFacade.edit(pessoa);

        Set<Email> cjtEmail = new HashSet<Email>();
        email.setPesId(p);
        email2.setPesId(p);
        cjtEmail.add(emailFacade.edit(email));
        cjtEmail.add(emailFacade.edit(email2));
        
        Set<Telefone> cjtTelefone = new HashSet<Telefone>();
        telefone.setPesId(p);
        telefone2.setPesId(p);
        cjtTelefone.add(telefoneFacade.edit(telefone));
        cjtTelefone.add(telefoneFacade.edit(telefone2));

        p.setEmailSet(cjtEmail);
        p.setTelefoneSet(cjtTelefone);

        pessoaFacade.edit(p);
    }
Estou utilizando a estrategia de cascade:
cascade = {CascadeType.PERSIST, CascadeType.MERGE}
Nos enterpise java beans estou utilizando:
@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
public class PessoaFacade {
Esta foi a unica maneira que funcionou, gostaria de saber se esta é a maneira correta?
Criado 26 de abril de 2010
Respostas 0
Participantes 1