Sự khác biệt giữa các hiệp hội đơn hướng và hai chiều là gì?
Vì bảng được tạo trong db đều giống nhau, do đó, điểm khác biệt duy nhất tôi tìm thấy là mỗi bên của các giả định hai chiều sẽ có một tham chiếu đến bên kia, còn một hướng thì không.
Đây là một hiệp hội đơn hướng
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;
}
Hiệp hội hai chiều
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;
}
Sự khác biệt là liệu nhóm giữ một tài liệu tham khảo của người dùng.
Vì vậy, tôi tự hỏi nếu đây là sự khác biệt duy nhất? được khuyến khích?