Как Hibernate отслеживает объект внутри, если в сущности не определен идентификатор? - PullRequest
3 голосов
/ 16 февраля 2012

Согласно справочному документу Hibernate

Свойство идентификатора строго необязательно. Вы можете оставить их и пусть Hibernate отслеживает идентификаторы объектов внутри.

Как Hibernate отслеживает объект внутри, если в сущности не определен идентификатор?

Расширяем вопрос далее, если нет идентификатора, как мы загружаем () / get () объект, чтобы сделать его постоянным?

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

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

0 голосов
/ 17 февраля 2012

Ваша цитата из документации по Hibernate версии 3.5.

Начиная с более поздних версий, Hibernate является поставщиком JPA.В JPA объявление id не является обязательным.Таким образом, в документации 3.6 вы найдете эту эту заметку :

Исторически это считалось вариантом.Хотя все еще (пока) не применяется, это следует рассматривать как устаревшую функцию, так как она будет полностью обязательна для предоставления свойства идентификатора в следующем выпуске.в сессии.Вы загружаете / сохраняете как обычно, но не можете различить разные строки с одинаковыми значениями.И, конечно, вы не можете загрузить по ключу, только по запросу.Некоторые из вытекающих из этого ограничений упоминаются в документации 3.5 .

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