JPA/hibernate multiplos objetos

2 respostas
M

Pessoal uma dúvida sobre persistência com JPA.

Modelo:

Entidades: A,B,C,D

A ? B
B ? C
D ? C

Em que ? representa 1 para N

Ao persistir em.persist(obj); qual objeto deve ser persistido?

Se persisto o objeto ?A? ele reclama (object references an unsaved transient instance - save the transient instance before flushing: D->C). Se persisto o objeto ?D? ele reclama (object references an unsaved transient instance - save the transient instance before flushing: C->B).

O JPA/hibernate consegue persistir o grafo de objetos todo? Como proceder?

Desde já agradeço por qualquer ajuda.

2 Respostas

F

Ou salve antes os relacionamentos (e flush) ou use cascade
http://cagataycivici.wordpress.com/2005/11/15/p_i_ve_faced_with/

M

Ainda estou na batalha,

Agora com o seguinte problema:

Gero classes para chaves compostos A_pk e mapeio usando @Embeddable

eu faço new em A e new A_pk e coloco A_pk em A.

A rebebe uma chave de B, que deve ir para A_pk. A chave de B é gerado normalmente por uma sequence. Ao persistir ele reclama que A_pk nao esta com a chave de B, A_pk está com 0 enquanto B esta com id =10 por exemplo,

Como colocar a chave de B no A_pk de A dinamicamente?

Sou obrigado a fazer em.persist(B); e nao posso, ao mandar persistir pegar o id de B e colocar em A.

Obrigado pela ajuda.

Criado 15 de outubro de 2009
Ultima resposta 16 de out. de 2009
Respostas 2
Participantes 2