¿Cuál es la diferencia entre las asociaciones unidireccionales y bidireccionales?
Dado que la tabla generada en la base de datos es la misma, la única diferencia que encontré es que cada lado de las asociaciones bidireccionales tendrá una referencia al otro, y el unidireccional no.
Esta es una asociación unidireccional
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;
}
La asociación bidireccional
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 diferencia es si el grupo tiene una referencia del usuario.
¿Entonces me pregunto si esta es la única diferencia? cual se recomienda