Hibernate Inserindo Registro

0 respostas
V

Pessoal é o seguinte estou tentando inserir um registro na minha base de dados o problema é que sempre
que tento realizar a inserção o hibernate me lança essa exceção.

8449 [http-8080-1] ERROR org.hibernate.util.JDBCExceptionReporter - ERRO: inserção ou atualização em tabela "resposta" viola restrição de chave estrangeira "fkebb727215e23ed80"
  Detalhe: Chave (idprova)=(2) não está presente na tabela "questao".

Não entendo qual problema poderia ser porque na minha base existe um registro prova com esse id e o relacionamento entre prova e questão é manyTomany e por isso não faz nenhum
sentido que ele esteja cobrando o id de prova dentro de questão.

Mapeamento da minha classe Resposta.

public class Resposta {

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

	@ManyToOne
	@JoinColumn(name="cpfMatricula")
	private Aluno aluno;
	
	@ManyToOne
	@JoinColumn(name="idProva")
    private Prova prova;

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

	@ManyToOne
    @JoinColumn(name="idAlternativa")
	private Alternativa alternativa;

Mapeamento da minha classe questão

@Entity
@Table(name = "questao")
public class Questao {

	@Id
	private String idQuestao;

	@Column
	private String enunciado;
	
	private String enunciadoHTML;

	@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
	@JoinTable(name="prova_questao",joinColumns={@JoinColumn(name="idQuestao")},
	inverseJoinColumns={@JoinColumn(name="idProva")})
	private Collection<Prova> provas;

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

Mapeamento da minha classe prova.

@Entity
@Table(name = "prova")
public class Prova {

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

	private


@ManyToMany
	@JoinTable(name="prova_questao",joinColumns={@JoinColumn(name="idProva")},
	inverseJoinColumns={@JoinColumn(name="idQuestao")})
	private Collection<Questao> questoes;
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "identificador", insertable = true, updatable = true)
	@Fetch(FetchMode.JOIN)
	private Instituicao instituicao;	
	
	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "turma_prova", joinColumns = { @JoinColumn(name = "idProva") }, 
	inverseJoinColumns = { @JoinColumn(name = "idTurma")})
	private Collection<Turma> listaTurmas;
	
	@OneToMany(mappedBy="prova", cascade=CascadeType.ALL)
	private Collection<Resposta>respostas;

Não sei como resolver isso já olhei em alguns outros posts que apresentam o mesmo problema mas as soluções propostas nesses posts não vêm surtindo efeito por isso
peço a ajuda de vcs e agradeço muito se alguém colaborar.

Criado 8 de agosto de 2011
Respostas 0
Participantes 1