1:M relationship in Hibernate and cascading operations
- by EugeneP
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.
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.
What can you recommend me?