我有一个名为 Lecture 的对象,它有两个字段教师
class Lecture{
private Teacher teacher;
private Teacher subsTeacher;
}
让我们假设教师可以教许多讲座。所以教师之间有一对多的关系 - >演讲
现在在教师班上我有:
@OneToMany(mappedBy = "teacher")
@Cascade(value = {org.hibernate.annotations.CascadeType.DETACH,
org.hibernate.annotations.CascadeType.LOCK})
public Set<Lecture> getLectures() {
return lectures;
}
然而,这不会让我回到老师是教师的讲座。但我也需要它们。
我怎样才能做到这一点?
表格结构:
表:讲座
列:id,teacher_id,substeacher_id
表老师:
列:id,name
答案 0 :(得分:4)
为此,您需要根据教师/小学教师过滤讲座并手动设置到讲座列表。否则你需要做单独的映射。如果您需要与老师保存讲座,您应该添加单独的映射并相应地使用。
@OneToMany(mappedBy = "subsTeacher", cascade = {CascadeType.ALL})
private Set<Lecture> subLectures;