懒加载问题

具体问题?如果我们在 mainFrame.jsp中要求显示该雇员所在部门的时候

 

${loginuser.department.name}  时候,懒加载问题出现:

解决思路:

1. 明确初始化

       在session还没有关闭时,访问一次 xxx.getXxx(),强制访问数据库。或者Hibernate.initialize(Department.class)

2。 在对象映射文件中 取消懒加载  <lazy=”false”/>

上面方法问题是: 不管你在jsp中使不使用 部门的名称,它都有向数据库发出select 请求.

3.      spring专门提供了opensessioninview的方法来解决懒加载.

需要在web.xml文件中添加如下配置:

<filter>

       <filter-name>OpenSessionInViewFilter</filter-name>

       <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

<filter-mapping>

       <filter-name>OpenSessionInViewFilter</filter-name>

       <url-pattern>/*</url-pattern>

</filter-mapping>

 

该方法可以有效的减少对数据库的查询,缺点是和数据保持的session,时间延长了.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值