Типы сущностей и значений в спящем режиме - PullRequest
8 голосов
/ 07 ноября 2011

В чем разница между типами сущностей и значений на уровне объекта.Я понимаю, что сущность будет иметь идентификатор, но значение не будет, но зачем нам нужны разные способы сопоставления сущности с типами значений?

Это сделано для того, чтобы hibernate мог применить любую оптимизацию к типу значения?

Ответы [ 2 ]

13 голосов
/ 07 ноября 2011

Сущность уже определяет таблицу, в которой она сохраняется.Поэтому, когда у вас есть список сущностей B в сущности A, нет необходимости определять целевую таблицу для Bs: B уже определяет ее.Типы значений не имеют никакой связанной таблицы, поэтому отображение List<String> в объекте A должно определять, какая таблица будет использоваться для хранения этого списка.

Более того, типы значений по определению всегда полностью принадлежатпо их содержанию.После удаления объекта вы также удаляете все строки, связанные с этим объектом.Это не относится к сущностям: когда вы удаляете сущность курса, вы не удаляете всех ее учеников.

Это всего лишь два примера, показывающих, что должны быть определены различные свойства сопоставления.

0 голосов
/ 23 июня 2016

Объект типа объекта имеет свою собственную идентичность, где, поскольку объект типа значения не имеет идентификатора базы данных, он принадлежит сущности.Объекты типа значения идентифицируются через сущности-владельцы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...