| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Hibernate - Lazy |
| Автор: belarusrulez 28.12.2010, 18:52 | ||||
Exception:
filter in web.xml
если поставить (fetch = FetchType.EAGER) то всё работает на ура ... help! ;) |
| Автор: dobrolub 1.1.2011, 10:22 |
| fetch EAGER даёт инструкцию hibernate тянуть хозяйство (роли, в твоём случае) за собой сразу. Поэтому, при обращении к ролям исключительной ситуации не возникает. Исключительная ситуация (в отсутствии EAGER) возникает потому, что сессия закрыта. Проверь свой код на предмет закрытия сессии до обращения к списку ролей. |
| Автор: _sten_ 1.1.2011, 17:24 |
| OpenSessionInViewFilter открывает сессию при начале риквеста, привязывает ее к текущему потоку, и закрывает при окончании. В таком случае LazyInitializationException быть не должно, разве что ты закрыл сессию сам, или обращаешься к коллекции из другого потока. |
| Автор: belarusrulez 12.1.2011, 16:39 |
| Была такая ситуация как у коллекции 2 1. страница 1 подгружает обьект в котором есть 2 коллекции: коллекция_1 (используется на странице 1 и соответсвенно подгружается) и коллекция_2 (не используется на странице 1 и соответсвенно не подгружается) 2. я заношу этот объект в сессию 3. перехожу на страницу 2 в которой требуется коллекция_2 и при попытки подгрузки этой коллекции мне выдаёт LazyException Методом борьбы от этого является подгрузка данного обьекта для каждой страницы отдельно. Значит не имеет смысла тягать в сессии объекты т.к. можно тягать только ID(ведь они легче и нужны только они) разобрался. |