В чем разница между однонаправленными и двунаправленными ассоциациями?
Так как таблица, сгенерированная в 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;
}
Разница заключается в том, содержит ли группа ссылку пользователя.
Так что, интересно, это только разница? который рекомендуется?