在渲染阶段渲染最终视图时,hibernate抛出
failed to lazily initialize a collection of role
我想这是因为没有用于获取延迟数据的事务。
在这种情况下,除了急切地加载数据之外,什么是最好的解决方案。
我可以延长交易以涵盖这个阶段
NB。我没有使用EJB,因此没有容器管理事务。
有什么想法吗?
答案 0 :(得分:0)
根据您使用的Hibernate版本,您可以启用此特定查询的急切提取。如果您使用的Hibernate版本不支持,则必须通过在进入视图之前调用“getRoles”手动预取它。最后一个解决方案是使用“视图中的开放会话”模式:http://community.jboss.org/wiki/OpenSessioninView