Table SUBCOURSE references COURSE COURSE(id, name) SUBCOURSE(id, course_id, name)
So, 1:M.
Hibernate generates for Course:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "course", cascade = CascadeType.ALL)
public Set getSubCourses() {
return this.subCourses;
}
for Subcourse it generates
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "course_id", nullable = false)
public Course getCourse() {
return this.course;
}
Now the problem is that cascading does not work as expected. I want to create a collection of SubCourse objects (Set), fill it and then bind it to setSubCourses() of Course object. Then simply persist the Course object.
Though, having ManyToOne thing in a Subcourses table, I need to manually setCourse() before adding to collection on each object. If I do not do so, an exception is raised when persisting Course object with its collection.
What can you recommend me?
P.S. or maybe this is part of the game? setting a parent object of every child by hand?