Спящий - ленивый = правда - PullRequest
1 голос
/ 20 марта 2012

Я использую Hibernate для создания карт. У одного из моих классов есть набор long с. Я хотел бы установить lazy в true при получении этого объекта. Может ли это вызвать проблемы, если я получу объект и через некоторое время использую набор внутри него?

1 Ответ

1 голос
/ 20 марта 2012

Атрибут lazy применим к дочерним объектам. Если сущность с дочерними отношениями выбирается лениво, то она не выбирается из базы данных, пока ваше приложение не попытается получить к ней доступ.

lazy не будет применяться к «набору длинных». Я даже не уверен, что вы подразумеваете под этим. Если у вас буквально есть набор просто чисел, я бы взломал и напишу метод для создания строки, состоящей из длинных, и не беспокоился о ленивой загрузке.

Пользователи часто сталкиваются с проблемами с lazy, потому что они пытаются получить доступ к отложенной коллекции после закрытия сеанса. Поскольку hibernate извлекает соответствующие объекты только при обращении к ним, если сеанс закрыт, это проблема - это страшно LazyInitializationException.

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