[英]JPA delete an entry from list in Many-To-Many relationship
这些是我的课。 我想从likeCourses中删除项目。 所以我希望 JPA 从course_like表中删除项目。 我查看并尝试从其他示例中理解,但无法理解。 当存在关系时,就像 JPA realm 中不存在删除一样。 不过还是不错的选择。 我想分享我尝试过的东西,但我找不到任何关于它的东西。
注意:我看到在 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;
}
如果要从course_like
表中删除条目,则必须加载Student
并从应该删除的likedCourses
集中删除元素。 如果您在@Transactional
方法中执行此操作,您将看到 Hibernate 将发出delete
语句以删除表示从likedCourses
集中删除的对象的行。 这就是 ORM 的魔力,它将 object 图与数据库同步,无需您告诉它发出语句 A、B、...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.