hibernate中OpenSessionInViewFilter的札记 (转)

hibernate中OpenSessionInViewFilter的笔记 (转)
<!-- 过滤spring中对于hibernate的session关闭管理 -->
 <filter>
     <filter-name>hibernateFilter</filter-name>
        <filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
        </filter-class>
     <init-param>       
        <param-name>singleSession</param-name> 
        <param-value>true</param-value>    
     </init-param>
 </filter>
 <!--过滤.jsp和.do结尾的url-->
  <filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>*.do</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
  </filter-mapping>

 如果是singleSession=false的话,就不会在每次的整个request的过程中使用同一个hibernate session,而是每个数据访问都会产生各自的seesion,等于没有Open Session in View。


OpenSessionInViewFilter调用流程: request(请求)->open session并开始transaction->controller->View(Jsp)->结束transaction并close session。”