单向关联和双向关联的区别是什么?
由于 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;
}
区别在于组是否拥有用户的引用。
所以我想知道这是不是唯一的区别? 这是推荐的?