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

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

Добрый день!

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

Можете, пожалуйста, объяснить как это происходит "под капотом"?
  • Вопрос задан
  • 28 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Компьютерная академия «TOP»
    Тестирование ПО (QA)
    1 год
    Далее
  • OTUS
    Java-разработчик
    15 месяцев
    Далее
  • Учебный центр IBS
    JVA-075 Spring Advanced
    1 неделя
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Hibernate
Седой и строгий
Потому что Hibernate разрабатывали не дураки, библиотека сначала строит ациклический граф отношений, а потом генерирует по нему SQL-запрос. В тех местах, где направления отношений неочевидны, используется атрибут mappedBy соответствующих аннотации.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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