[英]Getting referential integrity constraint violation while trying to delete from OneToMany relation with cascadeType.ALL in hibernate
This is the relevant code for the table I'm deleting from:这是我要从中删除的表的相关代码:
/**
* Liste der Aufgaben der Abgabe
*/
@Setter
@OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
@JoinTable(
name = "ABGABEAUFGABENZUORDNUNG",
joinColumns = {@JoinColumn(name = "ABGABE")},
inverseJoinColumns = {@JoinColumn(name = "AUFGABE")}
)
private List<Aufgabe> aufgaben = new ArrayList<>();
These are my hibernate functions for deleting and updating:这些是我用于删除和更新的 hibernate 函数:
@Override
public void update(Abgabe abgabe) throws NullPointerException {
HibernateUtil.execute(s -> s.update(abgabe));
}
@Override
public void delete(Abgabe abgabe) {
HibernateUtil.execute(s -> s.delete(abgabe));
}
These are my tables:这些是我的表:
CREATE TABLE `Abgabe` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL UNIQUE,
`gewicht` FLOAT NOT NULL,
`date` SMALLDATETIME NOT NULL UNIQUE,
`gruppenAbgabe` BOOLEAN,
`bewertet` BOOLEAN,
`kommentar` varchar(1000),
PRIMARY KEY (`id`)
);
CREATE TABLE `Aufgabe` (
`id` INT NOT NULL AUTO_INCREMENT,
`oberaufgabe_Id` INT,
`name` VARCHAR(255) NOT NULL,
`maxPunkte` FLOAT,
`maxPunkteMitGewicht` FLOAT,
`gewicht` FLOAT NOT NULL,
`bewertungskriterien` VARCHAR(255),
PRIMARY KEY (`id`)
);
CREATE TABLE `AbgabeAufgabenZuordnung` (
`abgabe` INT NOT NULL,
`aufgabe` INT NOT NULL
);
now when I try to delete a aufgabe from a abgabe I get this exception:现在,当我尝试从 abgabe 中删除 aufgabe 时,我得到了这个异常:
Caused by: org.hibernate.MappingException: Could not determine type for: de.unibremen.swp.model.benotung.Abgabe, at table: BEWERTETEABGABE, for columns: [org.hibernate.mapping.Column(ABGABE)]
I've seen other questions asked here where the answer was to use Cascade=CascadeType.ALl but this is not working for me.我在这里看到了其他问题,答案是使用 Cascade=CascadeType.ALl 但这对我不起作用。
This is not a runtime error "during delete" but a bootstrap error.这不是“删除期间”的运行时错误,而是引导错误。 Your model is not correctly mapped, but I can't help you unless you share your whole entity model.您的 model 未正确映射,但除非您共享整个实体 model,否则我无法帮助您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.