这些是我的类。我想从likedCourses中删除项。所以我希望JPA从course_like表中删除项。我从其他示例中查找并尝试理解,但无法理解。这就像在JPA领域中存在关系时不存在删除。尽管这对选择很好。我想分享我尝试过的内容,但我找不到任何有关它的信息。
注意:我发现在ManyToMany关系中没有orphanRemoval选项。
@Entity
class Student {
@Id
Long id;
@ManyToMany
@JoinTable(
name = "course_like",
joinColumns = @JoinColumn(name = "student_id"),
inverseJoinColumns = @JoinColumn(name = "course_id"))
Set<Course> likedCourses
}
@Entity
class Course {
@Id
Long id;
@ManyToMany(mappedBy = "likedCourses")
Set<Student> likes;
}
1条答案
按热度按时间8nuwlpux1#
如果你想从
course_like
表中删除一个条目,你必须加载Student
,并从likedCourses
集合中删除该元素。您将看到Hibernate将发出delete
语句来删除表示从likedCourses
集合中删除的对象的行。ORM的神奇之处在于,它使对象图与数据库同步,而无需您告诉它发出语句A、B ...