今天碰到一個(gè)問題,在顯示實(shí)體的集合屬性的時(shí)候竟然報(bào)錯(cuò):org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role。記得在看seam preference的時(shí)候,里面提到seam已經(jīng)解決了hibernage的這個(gè)痼疾,所以感覺很奇怪。在研究了代碼并google之后,終于發(fā)現(xiàn)了問題,原來是配置EntityManager的時(shí)候出現(xiàn)了錯(cuò)誤:
原來的配置: @PersistenceContext(unitName="default") EntityManager mgr;
修改后: @PersistenceContext(type=PersistenceContextType.EXTENDED,unitName="default") EntityManager mgr;
錯(cuò)誤原因,有位仁兄解釋的很清楚,附原帖:http://www.seamframework.org/Community/HowToAvoidLazyInitializationException