Chave estrangeira ñ é salva (EJB)

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:

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_odontopediatrica")
	public Odontopediatrica getOdontopediatrica() {
		return this.odontopediatrica;
	}

	public void setOdontopediatrica(Odontopediatrica odontopediatrica) {
		this.odontopediatrica = odontopediatrica;
	}

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.

Alguém sabe se está faltando algo nas anotações?

Ou talvez se tem algum jeito de eu pegar o id que será gerado para a 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:

public void save(Odontopediatrica entity) { LogUtil.log("saving Odontopediatrica instance", Level.INFO, null); try { entityManager.persist(entity); LogUtil.log("save successful", Level.INFO, null); } catch (RuntimeException re) { LogUtil.log("save failed", Level.SEVERE, re); throw re; } }

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.