У меня есть сомнения относительно entity vs value type
в спящем режиме.
Приведем пример User
и Address
. Здесь Пользователь является entity
и возьмем Адрес как component
.Адрес как тип сущности или значения в спящем режиме
Если у пользователя может быть только один адрес, то в этом случае будет только одна таблица «Пользователь» и нет таблицы для адреса, поскольку она отображается как компонент. Но, допустим, у пользователя может быть несколько адресов, поэтому в этом случае нам нужно иметь другую таблицу, кроме пользователя, для этого сопоставления.
Здесь у меня есть два варианта: first
, Адрес как объект и second
Адрес как компонент.
Я понимаю, что для адреса не будет shared reference
, поэтому он не должен отображаться как Entity и адрес карты как компонент. Но в этом случае я могу отобразить Address as Entity (никто не останавливает меня, чтобы сделать это). Итак, мои вопросы: если я буду сопоставлять адрес как сущность вместо компонента, будет ли какой-то недостаток.
Я не слишком хорошо знаком с терминологической «составляющей», но могу сказать, что каждая сущность соответствует таблице. Если вы считаете, что вам не нужна таблица «Адрес», вы не будете создавать соответствующий класс сущностей, и наоборот, если вы решите, что вам нужна отдельная таблица. –
Трудно сказать наверняка, не видя всей конструкции. Делает ли что-нибудь * еще нужно адрес? Если это так, таблица будет выглядеть как лучший вариант (это может быть так или иначе). Вы будете хранить дублированные данные в таблицах. Значение каждой * вещи *, которая нуждается в адресе, будет содержать одни и те же поля. Это не здорово. – ChiefTwoPencils
@ ChiefTwoPencils- Нет, адрес не будет использоваться кем-либо, кроме пользователя. В случае множественного адреса конкретного сопоставления пользователей и компонентов нам по-прежнему требуется другая таблица. Итак, в этом случае лучше ли было бы работать с сущностью или компонентом? – Anand