0

Hibernate では、1 対多またはその逆の多対 1 をそれぞれ@OneToManyまたは@ManyToOneアノテーションを介して指定できます。しかし、私が見た例では、A を B に関連付けるたびに、B を A にも関連付ける必要があります。たとえばTeacher、1対多の関係がある場合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 に答える