Hibernate延迟加载错误:ERROR org.hibernate.LazyInitializationException
框架SSH,前台查询数据时碰到如下异常:
ERROR org.hibernate.LazyInitializationException - failed to lazily initialize a collection, no session or session was closed
实体类关系映射:
<set name="regulatorSet" table="QMAX_GSM_RE_REGULATOR_GAGE" lazy="true"
???cascade="none" sort="unsorted">
???<key column="GAGE_ID"></key>
???<many-to-many column="REGULATOR_ID"
????outer-join="auto" />
??</set>
?
解决办法:
web.xml中添加OpenSessionInViewFilter
<filter>
??<filter-name>gsm_OpenSessionInViewFilter</filter-name>
??<filter-class>
???org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
??<init-param>
???<param-name>sessionFactoryBeanName</param-name>
???<param-value>gsmSessionFactory</param-value>
??</init-param>
?</filter>
?<filter-mapping>
??<filter-name>gsm_OpenSessionInViewFilter</filter-name>
??<url-pattern>*.do</url-pattern>
??<url-pattern>*.jsp</url-pattern>
??<url-pattern>*.action</url-pattern>
?</filter-mapping>