Quelle est la différence entre les associations unidirectionnelles et bidirectionnelles?
Étant donné que les tables générées dans la base de données sont toutes identiques, la seule différence que j'ai trouvée est que chaque côté des associations bidirectionnelles aura un renvoi à l'autre, et non unidirectionnel.
Ceci est une association unidirectionnelle
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;
}
L'association bidirectionnelle
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;
}
La différence est de savoir si le groupe contient une référence de l'utilisateur.
Alors je me demande si c'est la seule différence? qui est recommandé?