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