表 SUBCOURSE 参考 COURSE COURSE(id, name) SUBCOURSE(id, course_id, name)
所以,1:M。
Hibernate 为 Course 生成:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "course", cascade = CascadeType.ALL) 公共设置 getSubCourses() { 返回 this.subCourses; }
对于它生成的 Subcourse
@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "course_id", nullable = false) 公共课程 getCourse() { 返回此课程; }
现在的问题是级联没有按预期工作。我想创建一个 SubCourse 对象(Set)的集合,填充它然后将其绑定到 Course 对象的 setSubCourse()。然后简单地持久化 Course 对象。
虽然,在 Subcourses 表中有 ManyToOne 的东西,我需要在添加到每个对象的集合之前手动 setCourse() 。如果我不这样做,则在将 Course 对象及其集合持久化时会引发异常。
你能给我推荐什么?
PS或者这可能是游戏的一部分?手动设置每个孩子的父对象?