2010-01-31 3 views
3

Полностью новый для Spring & Разработка Java, но работа над проектом для класса с опытными разработчиками. Я считаю, что мы используем Spring MVC в качестве нашего веб-слоя (но я парень C#, поэтому я могу ошибаться в этом отношении). У нас есть представление, которое получает объект с лениво загруженными свойствами - довольно простой материал. Тем не менее, когда я называю одно из этих свойств в представлении JSF, я получаю эту ошибку:JSF + Spring + JPA + Hibernate: сохранить entitymanager в режиме рендеринга?

failed to lazily initialize a collection of role: xxxxxxxx, 
    no session or session was closed 

, который заставляет меня думать, что зимуют сессия закрывается слишком рано. Есть ли способ, чтобы один entitymanager оставался живым на протяжении всего запроса, в том числе после отправки модели в представление для рендеринга?

+3

Помимо конкретной проблемы, почему бы вам просто не рассказать об этом с помощью опытных разработчиков? Они, безусловно, хотят объяснить вам проблему и решение. На самом деле вы тоже должны работать вместе и учиться друг у друга. – BalusC

+0

Только один имеет обширный опыт в спячке. Он настаивает на том, что вам нужно записать запрос на загрузку, чтобы получить что-то дополнительное для загрузки. Я думаю, что это безумие, тем более, что мы находимся на ранней стадии разработки и не знаем, какие отношения должны быть оптимизированы, если нужно оптимизировать нагрузку. Мой опыт .NET говорит мне, что он может быть заблокирован одним способом делать что-то. – roufamatic

+0

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

ответ

Смежные вопросы