Olá estou tendo um problema com a persistência do EJB 3.0.
Basicamente tenho 2 classes que são FichaOdontopediatrica e a outra é a Iohs que um tipo informação contida dentro da FichaOdontopediatrica.
O relacionamento é:
FichaOdontopediatrica 1 : N Iohs
O problema é que a chave estrangeira do Iohs não está salvando a chave primária da FichaOdontopediatrica. As anotações da chave estrangeira do Iohs são as seguintes:
Outro detalhe é que a geração do id da FichaOdontopediatrica é automatico, por isto não consigo setar diretamente por código, pois quando estou inserindo não sei qual será o id da FichaOdontopediatrica.
Como você esta persistindo os objetos? Já tentou olhar a anotação cascade? A geração automatica esta sendo feita por sequence ou por identidade?
O relacionamento esta bidirecional ou não?
[quote=Laubstein, M?cio]Como você esta persistindo os objetos? Já tentou olhar a anotação cascade? A geração automatica esta sendo feita por sequence ou por identidade?
O relacionamento esta bidirecional ou não?[/quote]
Olá, o relacionamento é unidirecional, com base na FichaOdontopediatrica eu quero achar o Iohs, mas o contrário não é necessário.
Já dei uma olhada na anotação cascade habilitando a opção “All” dela, mas ñ resolveu.
Estou persistindo os dados com o “persist” mesmo.
Tenho o método save do session bean do FichaOdontopediatrica que é assim:
Tipo, todos os dados do Iohs que eu seto explicitamente são realmente gravados no banco de dados quando eu dou o persist do FichaOdontopediatrica. O problema é que não estou setando o id_odontopediatrica (chave estrangeira) do Iohs, pois como o id de FichaOdontopediatrica é gerado automaticamente, eu esperava que o id gerado já fosse pra chave estrangeira automaticamente tb.
Ah, e a geração automatica é feita por sequence.