看来,如果您使用由 hibernate 代理的集合支持的 selectManyCheckbox,您将遇到可怕的 LazyInitializationException 问题。这与支持 bean 的状态无关!
调试 Mojarra 2.1 后,我发现如果不包含属性 collectionType,它将尝试在流程验证阶段克隆支持值类,在我的例子中是 PersistentSet。当然,向其中添加任何值都会导致 LazyInitializationException。
我的问题是,您认为这在流程验证阶段是否是合理的行为?
克隆集合类的更好算法是查看接口并实例化 java.util 中的已知类。
这就是重点!它与会话状态无关......
我遇到了这个问题,我可以通过在我的组件中添加以下内容来解决它(在我的例子中是 selectOneMenu):
<f:attribute name="collectionType" value="java.util.ArrayList" />;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)