简体   繁体   English

尝试从 hibernate 中与 cascadeType.ALL 的 OneToMany 关系中删除时出现参照完整性约束违规

[英]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.

相关问题 尝试删除时违反参照完整性约束 - Referential integrity constraint violation when trying to delete Hibernate - JPA - OneToMany 和 CascadeType.ALL - Hibernate - JPA - OneToMany and CascadeType.ALL Hibernate / H2 @OneToMany移除子代时违反“参照完整性约束”? - Hibernate/H2 @OneToMany “Referential integrity constraint violation” on remove of child? Hibernate Cascade DELETE OneToMany 不起作用。 违反参照完整性约束 - Hibernate Cascade DELETE OneToMany does not work. Referential integrity constraint violation 所有者删除时违反参照完整性约束(OneToMany单向) - Referential integrity constraint violation on owner delete (OneToMany unidirectional) 休眠,多线程和CascadeType.ALL - Hibernate, Multithreading and CascadeType.ALL 即使使用级联 = CascadeType.ALL POST/PUT/DELETE 方法时也会出现限制休眠异常 - Getting contraint hibernate exception when POST/PUT/DELETE Method even with using cascade=CascadeType.ALL JPA OneToMany 与 CascadeType.ALL 不持久的孩子 - JPA OneToMany with CascadeType.ALL not persisting children JPA 2:在保存具有无方向OneToMany关系的实体时违反了引用完整性约束 - JPA 2: Referential integrity constraint violation while saving entity with undirectional OneToMany relationship 使用CascadeType.ALL的JPA外键约束 - JPA foreign key constraint with CascadeType.ALL
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM