0

在 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);

为什么/为什么不?提前致谢!

4

1 回答 1

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;
   
  ...
   
 }
于 2013-07-25T11:51:23.013 回答