Частично загрузка объекта в Hibernate - PullRequest
1 голос
/ 25 сентября 2010

У меня есть класс, который иногда нет необходимости загружать полностью.Могу ли я загрузить его частично или мне нужно создать облегченную версию класса (и новые сопоставления для него)?

Например: класс Message с id, title, body, author, timestamp.Когда я хочу удалить сообщение, мне нужно только два поля id, author.

1 Ответ

1 голос
/ 26 сентября 2010

У меня есть класс, который иногда нет необходимости загружать полностью.Могу ли я загрузить его частично или мне нужно создать облегченную версию класса (и новые сопоставления для него)?

Теоретически Hibernate может выполнять отложенную загрузку свойств , если вы используетеИнструментарий байт-кода времени сборки.См. 19.1.7.Использование извлечения ленивых свойств .Но у меня нет большого опыта в этом, я предпочитаю «облегченную версию» подход , если действительно требуется.

Например: классСообщение с идентификатором, названием, телом, автором, отметкой времени.Когда я хочу удалить сообщение, мне нужны только два поля id, author.

Это может быть не лучший пример, так как вы можете использовать HQL DELETE здесь (который находится вВ общем случае это гораздо эффективнее, чем загрузка Message экземпляров и их циклическое удаление для удаления).Смотрите раздел 13.4.Операции в стиле DML .Но если вы не можете, тогда загрузка объекта для удаления - это цена, которую нужно заплатить при использовании ORM.

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