首页 > 代码库 > SSH之懒加载异常解决方案
SSH之懒加载异常解决方案
1、设置成即时加载
2、查询语句使用join fetch
from Coupon coupon left join fetch coupon.users where coupon.id=:id
coupon的List<users> users属性是懒加载,但是查询结果需要users的内容,则使用 left join fetch
3、使用OpenSessionInViewFilter过滤器
web.xml
<!-- 以下是Spring的OpenSessionInView实现 ,唯一要求:放在struts2的过滤器前面--> <filter> <filter-name>openSessionInViewFilter</filter-name> <filter-class> org.springframework.orm.hibernate4.support.OpenSessionInViewFilter </filter-class> <!-- 如果是singleSession=false的话, 就不会在每次的整个request的过程中使用同一个hibernate session, 而是每个数据访问都会产生各自的seesion,等于没有OpenSessionInView. --> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> <!-- 指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称,默认值为sessionFactory。 如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,该参数一定要指定,否则会出现找不到sessionFactory的例外。所以默认可以不写 --> <init-param> <param-name>sessionFactoryBean</param-name> <param-value>sessionFactory</param-value> </init-param> </filter> <filter-mapping> <filter-name>openSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- openSessionInViewFilter在struts2前面 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter>
Done!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。