Будьте в спящем режиме однонаправленные один многим ассоциация - почему объединяющая таблица лучше?

Как я ответил на" , там простой, последовательный способ изменить цветовую схему редакторов Eclipse? ":

я искал это также и после того, как немного исследования нашло осуществимое решение. Это основано на редакторе FDT для Eclipse, но я уверен, что Вы могли применить ту же логику к другим редакторам.

Мое сообщение в блоге: практическое руководство создает систему цветов для FDT

Hope, которому это помогает!

32
задан UrLicht 20 August 2009 в 16:03
поделиться

2 ответа

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

Объединенная таблица отделяет соединение, так что принадлежащая таблица не знает родительской таблицы (таблиц), что позволяет элегантно масштабировать проект.

38
ответ дан 27 November 2019 в 20:56
поделиться

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

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

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

e.g. 
parent:
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL)
@MapKey(name = "name")
private Map children;

child:
@ManyToOne(optional = false)
private Parent parent;
11
ответ дан 27 November 2019 в 20:56
поделиться
Другие вопросы по тегам:

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