Основное отличие bidirectional от унинаправленного отношения Many-to-Many заключается в направлении связи между двумя сущностями. 12
Унинаправленное отношение предполагает, что связь есть только между одной сущностью и другой, но не наоборот. 1 Например, если есть объекты «Автор» и «Книга», то в унинаправленном отношении у объекта «Автор» будет коллекция связанных объектов «Книга», а у объекта «Книга» — нет ссылки на объект «Автор». 1
Bidirectional-отношение предполагает, что связь есть между обеими сущностями, то есть у каждой из них есть коллекция связанных объектов, и каждый из связанных объектов имеет ссылку на исходную сущность. 1
Таким образом, при использовании bidirectional-отношения можно получать связанные объекты как из одной, так и из другой стороны, без дополнительных запросов к базе данных. 1