ความแตกต่างระหว่างการเชื่อมโยงแบบทิศทางเดียวและแบบสองทิศทางคืออะไร?
เนื่องจากตารางที่สร้างใน db นั้นเหมือนกันทั้งหมดดังนั้นความแตกต่างเพียงอย่างเดียวที่ฉันพบคือแต่ละด้านของการเชื่อมโยงแบบสองทิศทางจะมีการอ้างถึงอีกด้านหนึ่งและไม่มีทิศทางเดียว
นี่คือการเชื่อมโยงแบบทิศทางเดียว
public class User {
private int id;
private String name;
@ManyToOne
@JoinColumn(
name = "groupId")
private Group group;
}
public class Group {
private int id;
private String name;
}
การเชื่อมโยงแบบสองทิศทาง
public class User {
private int id;
private String name;
@ManyToOne
@JoinColumn(
name = "groupId")
private Group group;
}
public class Group {
private int id;
private String name;
@OneToMany(mappedBy="group")
private List<User> users;
}
ความแตกต่างคือกลุ่มมีการอ้างอิงของผู้ใช้หรือไม่
ฉันจึงสงสัยว่านี่เป็นข้อแตกต่างเพียงอย่างเดียวหรือไม่? แนะนำตัวไหน