Почему EclipseLink добавляет столбец различителя для стратегии наследования, к которой присоединяются?

Я использую стратегию наследования, к которой ПРИСОЕДИНЯЮТСЯ, с реализацией EclipseLink JPA. Я заметил, что EclipseLink добавляет столбец различителя, названный по умолчанию DTYPE, к схеме базы данных. Я понимаю, тот различитель необходим для одной стратегии наследования таблицы, но почему для стратегии, к которой ПРИСОЕДИНЯЮТСЯ?

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

Будьте в спящем режиме базирующийся JPA не делает ничего подобного.

7
задан Piotr Kochański 15 January 2010 в 07:37
поделиться

1 ответ

Из присоединился к наследству таблицы :

в присоединенном столе наследование, каждый Класс разделяет данные из корневого стола. Кроме того, каждый подкласс определяет его собственная таблица, которая добавляет его расширенные состояние. В следующем примере показаны два Таблицы, проект и l_project, а также как два класса, проект и CarsProject:

...

Колонна дискриминатора - это то, что определяет тип и, следовательно, что присоединилась к таблице для использования, поэтому вам нужен столбец дискриминатора в родительской таблице.

1
ответ дан 7 December 2019 в 20:37
поделиться
Другие вопросы по тегам:

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