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