我收到错误
Cannot delete or update a parent row: a foreign key constraint fails (`gestion_ejercicios_programacion`.`examen`, CONSTRAINT `examen_ibfk_1` FOREIGN KEY (`titulacionID`) REFERENCES `titulacion` (`id`))
当尝试使用 hibernate 删除实体时。这是我在 main 中尝试做的事情:
TitulacionDAO tDAO = context.getBean(TitulacionDAO.class);
Titulacion t1 = new Titulacion("titulacion 1");
tDAO.save(t1);
ExamenDAO exDAO = context.getBean(ExamenDAO.class);
Examen ex1 = new Examen(3, 11, "examen 1", t1);
exDAO.save(ex1);
tDAO.delete(t1);
这是我的 Titulacion 的考试映射
@ManyToOne(cascade=CascadeType.PERSIST)
@JoinColumn(name="titulacionID", referencedColumnName="id")
private Titulacion titulacion;
这是我的 Examen 标题映射
@OneToMany(cascade=CascadeType.REMOVE, mappedBy="titulacion", orphanRemoval=true)
private Set<Examen> examenes = new HashSet<>();
这是我的数据库:
CREATE TABLE examen (
id INT AUTO_INCREMENT PRIMARY KEY,
mes INT(2),
ano INT(4),
descripcion VARCHAR(1000),
titulacionID INT,
FOREIGN KEY (titulacionID) REFERENCES titulacion(id)
);
CREATE TABLE titulacion (
id INT AUTO_INCREMENT PRIMARY KEY PRIMARY KEY,
nombre VARCHAR(100)
);
我不知道为什么会发生这种情况,我已经阅读了有关该主题的几篇文章,并且从我所读到的内容来看,这应该可行。感谢您的帮助
最佳答案
您没有将考试添加到标题中。因此,当删除标题时,Hibernate 并不知道考试也需要删除
关于java - 删除 OneToMany 关系中的父级后为 "Cannot delete or update a parent row",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55551604/