在Hibernate中,您可以分别通过@OneToMany
或@ManyToOne
注释指定一对多或多对一反向。但是在我看到的例子中,每当你将A与B联系起来时,你还需要将B与A联系起来。例如,如果Teacher
与Course
(一位教师)有一对多的关系可以教许多课程),我需要:
teacher.getCourses().add(mathCourse);
teacher.getCourses().add(historyCourse);
以及:
mathCourse.setTeacher(teacher);
historyCourse.setTeacher(teacher);
或者仅仅将它们单向联系就足够了(从而允许你选择上述一组关系)?换句话说,我可以通过以下方式联系它们:
teacher.getCourses().add(mathCourse);
teacher.getCourses().add(historyCourse);
为什么/为什么不呢?提前谢谢!
答案 0 :(得分:0)
在这种情况下,您只能添加单向关系。请参阅下面的示例
@Entity
@Table(name = "contact")
public class Contact implements Serializable {
@ManyToOne
@JoinColumn(name = "companyId")
private Company company;
... }
@Entity
@Table(name = "company")
public class Company implements Serializable {
@ManyToOne
@JoinColumn(name = "statusId")
private CompanyStatus status;
...
}