JSF 2.0实体管理器在呈现阶段的事务问题

时间:2011-04-22 12:28:41

标签: hibernate transactions jsf-2 jpa-2.0

在渲染阶段渲染最终视图时,hibernate抛出

failed to lazily initialize a collection of role

我想这是因为没有用于获取延迟数据的事务。

在这种情况下,除了急切地加载数据之外,什么是最好的解决方案。

我可以延长交易以涵盖这个阶段

NB。我没有使用EJB,因此没有容器管理事务。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

根据您使用的Hibernate版本,您可以启用此特定查询的急切提取。如果您使用的Hibernate版本不支持,则必须通过在进入视图之前调用“getRoles”手动预取它。最后一个解决方案是使用“视图中的开放会话”模式:http://community.jboss.org/wiki/OpenSessioninView