Hibernate OneToMany和ManyToOne?

时间:2013-07-25 02:56:29

标签: java hibernate one-to-many hibernate-onetomany

在Hibernate中,您可以分别通过@OneToMany@ManyToOne注释指定一对多或多对一反向。但是在我看到的例子中,每当你将A与B联系起来时,你还需要将B与A联系起来。例如,如果TeacherCourse(一位教师)有一对多的关系可以教许多课程),我需要:

teacher.getCourses().add(mathCourse);
teacher.getCourses().add(historyCourse);

以及:

mathCourse.setTeacher(teacher);
historyCourse.setTeacher(teacher);

或者仅仅将它们单向联系就足够了(从而允许你选择上述一组关系)?换句话说,我可以通过以下方式联系它们:

teacher.getCourses().add(mathCourse);
teacher.getCourses().add(historyCourse);

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

1 个答案:

答案 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;
   
  ...
   
 }