Задать вопрос
@dromanoff1501

Почему при bidirectional связи не возникает бесконечное число запросов?

Добрый день!

Интересует следующая ситуация: например, есть сущности User и Role. Связь bidirectional many-to-many, fetchType Eager
Почему программа не уходит в бесконечное число запросов, ведь для того, чтобы получить User, необходимо сначала получить Role, а для получения Role нужно загрузить поле с User и т.д.

Можете, пожалуйста, объяснить как это происходит "под капотом"?
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Hibernate
Седой и строгий
Потому что Hibernate разрабатывали не дураки, библиотека сначала строит ациклический граф отношений, а потом генерирует по нему SQL-запрос. В тех местах, где направления отношений неочевидны, используется атрибут mappedBy соответствующих аннотации.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы