【发布时间】:2011-07-18 15:54:22
【问题描述】:
单向关联和双向关联有什么区别?
由于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;
}
区别在于组是否持有用户的引用。
所以我想知道这是否是唯一的区别?推荐哪个?
【问题讨论】:
-
该组现在将知道它包含哪些用户。我认为这绝不是一个小区别。
-
在更新方面,双向关系对我来说变得很混乱。 :)
-
这可能会有所帮助:thorben-janssen.com/…
标签: java hibernate jpa orm associations