今天碰到一个问题,在显示实体的集合属性的时候竟然报错:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role。记得在看seam preference的时候,里面提到seam已经解决了hibernage的这个痼疾,所以感觉很奇怪。在研究了代码并google之后,终于发现了问题,原来是配置EntityManager的时候出现了错误:
原来的配置: @PersistenceContext(unitName="default") EntityManager mgr;
修改后: @PersistenceContext(type=PersistenceContextType.EXTENDED,unitName="default") EntityManager mgr;
错误原因,有位仁兄解释的很清楚,附原帖:http://www.seamframework.org/Community/HowToAvoidLazyInitializationException