gpt4 book ai didi

postgresql - 错误 : update or delete on table "tablename" violates foreign key constraint

转载 作者:行者123 更新时间:2023-11-29 11:15:39 25 4
gpt4 key购买 nike

我正在尝试删除家长学生或家长类(class),但出现此错误:

原因:org.postgresql.util.PSQLException:错误:表“student”的更新或删除违反了表“registration”的外键约束“fkeyvuofq5vwdylcf78jar3mxol”

RegistrationId 类是注册类中使用的组合键。我正在使用 Spring data jpa 和 spring boot。

我做错了什么?我知道在删除父级时放置 cascadetype.all 也应该删除子级,但它给我一个错误。

@Embeddable
public class RegistrationId implements Serializable {

@JsonIgnoreProperties("notifications")
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "student_pcn", referencedColumnName="pcn")
private Student student;

@JsonIgnoreProperties({"teachers", "states", "reviews"})
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "course_code", referencedColumnName="code")
private Course course;


注册类

@Entity(name = "Registration")
@Table(name = "registration")
public class Registration {

@EmbeddedId
private RegistrationId id;

最佳答案

当您使用关系数据库时,您是在设置实体以及这些实体之间的关系。

您遇到的错误意味着:

您正试图删除一条记录,该记录的主键在另一个表中用作外键,因此您无法删除它。

要删除那条记录,首先,删除带有外键的记录,然后删除你想删除的原始记录。

关于postgresql - 错误 : update or delete on table "tablename" violates foreign key constraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com