单向关联和双向关联之间有什么区别?
因为在数据库中生成的表都是相同的,所以我发现唯一的区别是双向关联的两边都会有一个指向另一个的引用,而单向的则不会.
This is a Unidirectional association
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;
}
The Bidirectional association
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;
}
区别在于该组是否持有该用户的引用.
所以我想知道这是唯一的不同之处吗?推荐哪一种?