Hibernate Inserir

Pessoal é o seguinte eu estou passando uma coleção de objetos de um determinado tipo Entidade 2 dentro de uma outra entidade 1. Até ae nenhum problema
a operação em cascata tá acontencendo numa boa a entidade 1 é inserida no banco e as entidades 2 também, pra ficar mais claro o relacionamento entre essas
duas entidades é oneToMany. O problema é que mesmo inserindo as entidades a chave da Entidade 1 não fica como chave estrageira na tabela da entidade 2, os objetos
são inseridos mas o campo da entidade pai fica nulo e não sei o pq agradeço a ajuda.

Posta seu mapeamento.

Segue os mapeamentos das classes.

[code]
@Entity
@Table(name = “Alternativa”)
public class Alternativa {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idAlternativa;

private String descricao;

@ManyToOne
@JoinColumn(name = "idQuestao")
private Questao questao;

private int valor;

private String caminhoImagem;

private boolean resposta;

private boolean status;

public Alternativa() {
}[/code]

[code]
@Entity
@Table(name = “questao”)
public class Questao {

@Id
private String idQuestao;

@Column
private String enunciado;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "idDisciplina", insertable = true, updatable = true)
@Fetch(FetchMode.JOIN)
private Disciplina disciplina;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "cpfMatricula", insertable = true, updatable = true)
@Fetch(FetchMode.JOIN)
private Professor professor;

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "prova_questao", joinColumns = { @JoinColumn(name = "idQuestao") },
inverseJoinColumns = { @JoinColumn(name = "idProva") })
private Collection<Prova> provas;

@Column
private int pontuacaoQuestao;

@Column
private String comentarioResposta;

@Column
private String caminhoImagem;

@OneToMany(mappedBy = "questao", cascade=CascadeType.ALL)
private Collection<Alternativa> alternativas;

@Column
private String tipo;

@Column
private int valorSomatorio;

@OneToMany(mappedBy = "prova", fetch = FetchType.LAZY)
private Collection<Resposta> respostas;

private boolean status;[/code]

Desculpa as entidades que fazen a ligação são essas e os atributos são alternativas dentro da entidade Questão e dentro da entidade Alternativa é apenas questão.

Acho que talvez vc deve usar a propriedade inverse, mas não tenho certeza se seria isso, mas da uma testada.
Em hbm.xml eu usaria inverse=true, mas com anotações não sei dizer como é, mas acho que seja como você fez aqui:

@ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "prova_questao", joinColumns = { @JoinColumn(name = "idQuestao") }, inverseJoinColumns = { @JoinColumn(name = "idProva") }) private Collection&lt;Prova&gt; provas;