Olá!
Estou com outro problema…
Tenho um bean avaliação que contém os beans aluno, professor, tipo avaliação e resultado avaliação.
Para testar, crio os respectivos beans e depois incluo cada um no bean avaliação.
Porém quando vou dar um save no avaliação ocorre uma ConstraintViolationException.
Os inserts dos outros beans que estão contidos na avaliação ocorre com sucesso, porém o ultimo insert dá exceção.
Meu bean avaliação é o seguinte:
@Entity
@Table(name = "avaliacao")
public class Avaliacao implements java.io.Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "avaliacao_sequence_generator")
@SequenceGenerator(name = "avaliacao_sequence_generator", sequenceName = "avaliacao_cod_avaliacao_seq", allocationSize = 1)
@Column(name = "cod_avaliacao", nullable = false)
private Integer codAvaliacao;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "cod_aluno")
@Fetch(FetchMode.JOIN)
@Cascade(org.hibernate.annotations.CascadeType.ALL)
private Aluno aluno;
@ManyToOne(cascade= {CascadeType.ALL})
@JoinColumn(name = "cod_tipo_av")
private TipoAvaliacao tipoAvaliacao;
@ManyToOne(cascade= {CascadeType.ALL})
@JoinColumn(name = "cod_professor")
private Professor professor;
@ManyToOne(cascade= {CascadeType.ALL})
@JoinColumn(name = "cod_resultado")
private Resultado resultado;
@Column(name = "data", nullable = true)
@Temporal(TemporalType.DATE)
private Date data;
public Avaliacao()
{
}
public Integer getCodAvaliacao()
{
return codAvaliacao;
}
public void setCodAvaliacao(Integer codAvaliacao)
{
this.codAvaliacao = codAvaliacao;
}
public Aluno getAluno()
{
return aluno;
}
public void setAluno(Aluno aluno)
{
this.aluno = aluno;
}
public TipoAvaliacao getTipoAvaliacao()
{
return tipoAvaliacao;
}
public void setTipoAvaliacao(TipoAvaliacao tipoAvaliacao)
{
this.tipoAvaliacao = tipoAvaliacao;
}
public Professor getProfessor()
{
return professor;
}
public void setProfessor(Professor professor)
{
this.professor = professor;
}
public Resultado getResultado()
{
return resultado;
}
public void setResultado(Resultado resultado)
{
this.resultado = resultado;
}
public Date getData()
{
return data;
}
public void setData(Date data)
{
this.data = data;
}
}
E o sql gerado quando dou um save do avaliacao é o seguinte:
Hibernate: select nextval ('avaliacao_cod_avaliacao_seq')
Hibernate: select nextval ('aluno_cod_aluno_seq')
Hibernate: select nextval ('endereco_cod_endereco_seq')
Hibernate: select nextval ('situacao_pgto_aluno_cod_situacao_pgto_seq')
Hibernate: select nextval ('professor_cod_professor_seq')
Hibernate: select nextval ('endereco_cod_endereco_seq')
Hibernate: select nextval ('resultado_avaliacao_cod_resultado_seq')
Hibernate: select nextval ('tipo_avaliacao_cod_tipo_av_seq')
Hibernate: insert into Endereco (bairro, cep, cidade, complemento, numero, rua, cod_endereco) values (?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into situacao_pgto_aluno (meses_pagos, valor_total, vcto_sit_regular, cod_situacao_pgto) values (?, ?, ?, ?)
Hibernate: insert into Aluno (cpf, cod_endereco, idade, nome, rg, cod_situacao_pgto, cod_aluno) values (?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into Endereco (bairro, cep, cidade, complemento, numero, rua, cod_endereco) values (?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into Professor (cpf, cod_endereco, grau_escolaridade, idade, nome, rg, salario, cod_professor) values (?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into resultado_avaliacao (altura, cod_avaliacao, freq_cardiac_mov, freq_cardiac_repouso, imc, largura_costas, peso, tam_biceps_dir, tam_biceps_esq, tam_coxa_dir, tam_coxa_esq, tam_panturrilha_dir, tam_panturrilha_esq, cod_resultado) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Espero ajuda de vocês…
Valeu!