Pessoal, estou tentanto excluir um curso que possui grades curriculares. Estas grades possuem disciplinas.
Estou utilizadno o seguinte código
HibernateHelper.begin();
....
itensParaRemover.addAll(curso.getGrades());
for (Object e: itensParaRemover) {
GradeCurricular grade = (GradeCurricular) e;
for (Disciplina disciplina : grade.getDisciplinas())
disDAO.delete(disciplina);
gradeDAO.delete(grade);
}
cursoDAO.delete(curso);
HibernateHelper.commit();
Entretanto, quando executo commit() recebeo a mensagem abaixo, como o sistema não tivesse conseguido excluir os filhos e estivesse atualizando.
16:11:01,270 ERROR [JDBCExceptionReporter] Entrada em lote 0 update GRADE_CURRICULAR set id_curso=null where id_curso='1460' foi abortada. Chame getNextException para ver a causa.
16:11:01,270 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 23502
16:11:01,270 ERROR [JDBCExceptionReporter] ERROR: null value in column "id_curso" violates not-null constraint
O hibernate.xml está assim
<class name="xx.xxx.xxxxx.GradeCurricular" table="GRADE_CURRICULAR">
<id name="id" column="id_grade_curricular" type="integer">
<generator class="sequence">
<param name="sequence">grade_curricular_id_grade_curricular_seq</param>
</generator>
</id>
<property name="descricao" column="ds_grade_curricular" type="string" />
<many-to-one name="curso" column="id_curso" />
<many-to-one name="status">
<column name="id_status" />
<column name="tp_entidade_status" />
</many-to-one>
<set name="disciplinas" table="DISCIPLINA" order-by="nr_periodo ASC, nm_disciplina ASC">
<key column="id_grade_curricular" />
<one-to-many class="xx.xxx.xxxxxx.Disciplina" />
</set>
</class>
Alguém sabe me dizer porque isso está ocorrendo?