¿Cuál es la diferencia entre las asociaciones unidireccionales y bidireccionales JPA e Hibernate?
¿Cuál es la diferencia entre las asociaciones unidireccionales y bidireccionales?
ado 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? ¿Qué se recomienda?