gpt4 book ai didi

java - hibernate java ORA-02292 : integrity constraint violated - child record found Course with Review

转载 作者:行者123 更新时间:2023-11-30 05:30:30 28 4
gpt4 key购买 nike

当我想删除任何类(class)的ID时,与该类(class)相关的评论也可以删除。但是控制台出现了一个问题。

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

类(class).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;

我尝试使用orphanRemoval=true,但没有任何改变。

如何解决这个问题?

最佳答案

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

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

关于java - hibernate java ORA-02292 : integrity constraint violated - child record found Course with Review,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57672154/

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