Пример. Есть 2 класса: пользователь и комментарии:
class User {
int id;
String name;
List<Comment> comments;
// get/set-методы
}
class Comment {
int id;
String content;
User user;
// get/set-методы
}
В двунаправленной связи мы можем получить информации о пользователе при обращении к объекту комментария:
comment.getUser().getName();
Но так же можем получить информацию о комментариях пользователя:
user.getComments().size();
Т.е. смысл двунаправленной связи в возможности получения доступа к связанным объектам в любом направлении. Хотя с данной фичей надо работать осторожно, т.к. один запрос может приводить к выбору большого количества лишних данных.