单向关联和双向关联有什么区别?
由于数据库中生成的表都是相同的,所以我发现的唯一区别是,双向关联的每一侧都有一个引用,而单向则没有。
这是单向关联
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; }
区别在于该组是否持有用户的参考。
所以我想知道这是否是唯一的区别?哪个推荐?