`
seadragonnj
  • 浏览: 57156 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring中session管理opersession,避免页面中数据未输出完session就被关闭

阅读更多

<!-- spring中对hibernate的一个session支持,直到页面执行完后才能关闭 -->
<filter>
<filter-name>opensession</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>

<!-- 当遇到所有的.do文件都要按照此设置 -->
</filter>
<filter-mapping>
<filter-name>opensession</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>

补允说明:由于hibernate的延迟加载机制,如果一个servicer的方法没有事务的话,它在调用完一个dao的方法后这个session就关了,由于hibernate的延迟加载机制,这时候DO并没有真正的实例化,如果你将来有

User user = user.getName();

 

这样的代码会报session已关的异常。(如果有事务的话,在同一事务中是共享一个session的)

 

分享到:
评论
1 楼 sdylag 2011-08-16  
 

相关推荐

Global site tag (gtag.js) - Google Analytics