当前位置: 首页 > 知识库问答 >
问题:

Hibernate java ORA-02292:违反了完整性约束-通过审阅找到了子记录课程

王波
2023-03-14

当我想删除任何课程的id时,也可以删除与该课程相关的复习。但是控制台上出现了一个insue。

Hibernate java ORA-02292:违反完整性约束-找到子记录

Course.java

@OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL,mappedBy="course")
    private Set<Review> reviews = new HashSet<Review>();

Review.java

@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
    @JoinColumn(name = "COURSE_ID", nullable = false)
    private Course course;

我试图使用orphanRemoving=true,但没有任何改变。

我如何解决这个问题?

共有3个答案

呼延沈义
2023-03-14

试试这个

@OneToMany(mappedBy="course", orphanRemoval=true)
庞修贤
2023-03-14

在相关外键中指定删除级联时的操作。在我的问题中,我定义了一个外键,通过DELETE CASCADE上的功能在课程和复习之间建立连接。这样,当可以删除课程时,可以删除与课程相关的评论。

连厉刚
2023-03-14

将子表中的外键约束指定为ON DELETE CASCADE。在调用EntityManager.remove(当然)后,您需要调用EntityManager.clear(),因为持久性上下文需要刷新-子实体不应该存在于持久性上下文中在数据库中删除。

@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name = "COURSE_ID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE)
private Course course;
 类似资料:
  • 我的应用程序读取一个正在批处理作业中处理的大文件,如果它有代码“D”,它就删除account表中的行。此帐户表与CONSUMER_ID列链接的消费者表具有外键关系。删除操作的顺序正确,但有时会导致违反完整性约束的错误,从而导致作业失败。

  • 我有一个类有多个@OneTomany关系(有类似+5000个子实体),当我尝试执行deleteAll时,我得到标题错误 我试着添加 而且 我究竟如何一致地删除所有这些实体?到目前为止,自从这个问题开始以来,我已经手动删除了表(几天前所有实体都被删除了),但这真的让我很恼火,但我想不出该怎么做。 谢谢!

  • 我有以下hibernate实体: 第二点: 当我试图删除实体新闻时,我得到异常ORA-02292:完整性约束(ROOT。SYS_C007062)违反了找到的子记录。因此,如果我删除属性"updatable=false",它会尝试将可为空的字段设置为属性Comment。我犯了什么错?拜托,帮帮忙。谢谢。

  • 我有一个由四个表组成的数据库。关系模式如图所示: 下面是几行: 现在我正试图删除所有者id为OW1的所有者。因为id是所有者表中的主键,而在其他表中是外键,所以不允许我删除该行。以下是我尝试过的SQL: 它返回: 我不允许在关系图中设置删除规则为“级联”。请帮助:(

  • SQL数据库代码: 大家好!我做了一系列的桌子,我想我做的每件事都是正确的。除了位置表之外,我在所有表上输入了输入值,没有任何问题。 这就是给我的错误。 第1行错误:ORA-02291:违反完整性约束(ASSIGNMENT.FK_TENANT)-未找到父密钥。 任何帮助和提示将不胜感激。谢谢! 固定的

  • 所以这里是我的数据库: 插入表格: 批次表不断出现的错误是:ORA-02290:违反了检查约束(EJAY.batches\u DATE\u CHK) 学生表出现的错误是:ORA-02291:违反完整性约束-未找到父键 我感到困惑的是,它只显示在表格中的一些行。教职员工和课程都很好,只有这两个。如果答案很明显,我道歉,我是初学者。请帮帮忙