Hibernate – однонаправленная связь для многих – почему таблица соединения лучше?

В этом документе (прокрутите вниз до раздела «Однонаправленный»):

http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-association-collections

он говорит, что однонаправленная связь «один-ко-многим» с таблицей соединений намного предпочтительнее простого использования столбца внешнего ключа в принадлежащем ему объекте. Мой вопрос: почему это так предпочтительнее?

    Рассмотрим ситуацию, когда тип принадлежащего объекта также может принадлежать другому типу родительского объекта. Вы помещаете ссылки внешнего ключа в принадлежащей ему таблице в обе родительские таблицы? Что делать, если у вас есть три родительских типа? Он просто не масштабируется до больших конструкций.

    Таблица соединений отделяет соединение, так что принадлежащая ему таблица не знает о родительских таблицах, позволяя дизайну масштабироваться элегантно.

    Если дочерний объект имеет только один родительский тип, тогда нет необходимости в таблице соединений. Я сделал это с JPA (с помощью спящего режима).

    Преимущества: одна минута. Возможно, лучшая производительность. Нет, для чего эта таблица? типа вопросов.

    Недостаток: с точки зрения ОО существует дополнительная зависимость между ребенком и родителем. На практике это, вероятно, не так уж и много, так как отношения являются частными в ребенке.

     например 
     родитель:
     @OneToMany (mappedBy = "parent", cascade = CascadeType.ALL)
     @MapKey (name = "name")
     частные карты детей;
    
     ребенок:
     @ManyToOne (необязательно = false)
     частный родитель;
    
    Interesting Posts

    Начальная активность из fragmentа вызывает NullPointerException

    Каков наилучший способ использования закладок Filezilla / менеджера сайтов?

    Куча выделяет 2D-массив (не массив указателей)

    Использование приложений на устройствах, отличных от iOS?

    Откройте другое приложение с вашего собственного (намеренного)

    Как найти точку пересечения между линией и прямоугольником?

    Могу ли я юридически отказаться от Win 7 64 бит до Win 7 32 бит?

    Использование диска Windows 10 на 100%, но в диспетчере задач не отображается соответствующий процесс

    Итерация двух Java-8-streamов вместе

    Мягкая клавиатура Android покрывает поле edittext

    Несколько контекстов БД в одной и той же БД и приложении в EF 6 и первые миграции кода

    Последовательность повторяющихся значений в R

    Где хранятся временные файлы в Chrome?

    Удаление программы, которая не работает

    Как хранить и сохранять множество данных?

    Давайте будем гением компьютера.