Менеджер сущностей JSF 2.0 Проблемы с транзакциями на этапе рендеринга - PullRequest
0 голосов
/ 22 апреля 2011

При рендеринге финального вида во время фазы рендеринга, Hibernate бросает

failed to lazily initialize a collection of role

И я полагаю, это потому, что нет транзакции для извлечения ленивых данных.

В этом случае, что является лучшим из возможных решений, чем энергичная загрузка данных.

могу ли я продлить транзакцию, чтобы охватить этот этап

NB. Я не использую EJB, поэтому у меня нет транзакций, управляемых контейнером.

Есть идеи?

1 Ответ

0 голосов
/ 22 апреля 2011

В зависимости от версии Hibernate, которую вы используете, вы можете включить активную выборку для этого конкретного запроса.Если используемая вами версия Hibernate не поддерживает ее, вам придется предварительно извлечь ее вручную, вызвав getRoles, прежде чем попасть в представление.Одним из последних решений является использование шаблона «открыть сеанс в представлении»: http://community.jboss.org/wiki/OpenSessioninView

...