Fazer form Master/Detail com JPA

Ola pessoal,

No desenvolvimento de um sistema de cadastro onde tenho uma tabela de Clientes, e outra de filhos “filhos de cliente”, então tenho um relacionamento um para muitos. Na Minha classe de Clientes chamada “Obreio” tenho mapeado o relacionamento do jpa veja:

//Classe Obreiro

@Id
    @Column(name = "obreiro", nullable = false)
    private Integer obreiro;

...

@OneToMany(mappedBy = "obreiro")
    private Collection<Filho> filhoCollection;

Na classe Filho, eu tenho os seguintes atributos.

//Classe Filho

@Id
    @Column(name = "filho", nullable = false)
    private Integer filho;
    @Column(name = "nome")
    private String nome;
    @Column(name = "dataNascimento")
    @Temporal(TemporalType.DATE)
    private Date dataNascimento;
    @JoinColumn(name = "escolaridade", referencedColumnName = "escolaridade")
    @ManyToOne
    private Escolaridade escolaridade;
    @JoinColumn(name = "profissao", referencedColumnName = "profissao")
    @ManyToOne
    private Profissao profissao;
    @JoinColumn(name = "obreiro", referencedColumnName = "obreiro")
    @ManyToOne
    private Obreiro obreiro;

O problema é o seguinte, eu quero salvar o Cadastro de Obreiro junto com seus filhos de uma vez só, entao para isso eu faço uma persistencia dos filhos em sessão através de um objeto list e na hora de persistir o Obreiro eu seto:


Obreiro.setFilhoCollection(listaDeFilhosDaSessao);

Só que logicamente eu nao tenho o codigo do obreiro entao todos os objetos do tipo Filho passado na lista estão com o relacionamento “obreiro” como null.

E por isso esta dando erro.

Alguem já fez algo do tipo e pode mi ajudar a solucionar esse problema?

valew

Valew pessoal já consegui.

Paulo, se possível posta como você conseguiu solucionar o problema para a galera.

:wink:

pra resolver eu coloquei no codigo de relacionamento o seguinte parametro.

cascate = cascateType.All