• OpenSessionInView


    Spring 为我们提供了一个叫做 OpenSessionInViewFilter 的过滤器,他是标准的 Servlet Filter 所以我们把它依照规范配置到 web.xml 中方可使用。使用中我们必须配合使用 Spring 的 HibernateDaoSupport 来进行开发,也就是说,我们的dao层的类都要继承于 HibernateDaoSupport。从中由 Spring 来控制 Hibernate 的 Session 在请求来的时候开启,走的时候关闭。保证了我们訪问数据对象时的稳定性。

    OpenSessionInViewFilter的主要功能是用来把一个Hibernate Session和一次完整的请求过程相应的线程相绑定。Open Session In View在request把session绑定到当前thread期间一直保持hibernate session在open状态,使session在request的整个期间都能够使用,如在View层里PO也能够lazy loading数据,如 ${ company.employees }。

    当View 层逻辑完毕后,才会通过Filter的doFilter方法或Interceptor的postHandle方法自己主动关闭session。


    1. 在 web.xml 中增加相应过滤器配置文件

     

    Java代码  收藏代码
    1. <!-- Spring的OpenSessionInView实现 -->  
    2. <filter>  
    3.     <filter-name>openSessionInViewFilter</filter-name>  
    4.     <filter-class>        org.springframework.orm.hibernate3.support.OpenSessionInViewFilter  
    5.     </filter-class>  
    6. <!-- singleSession默觉得true,若设为false则等于没用OpenSessionInView 。所以默认能够不写-->  
    7.      <init-param>  
    8.        <param-name>singleSession</param-name>  
    9.        <param-value>true</param-value>   
    10.      </init-param>   
    11. <!--   
    12. 指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件里的名称,默认值为sessionFactory。 假设LocalSessionFactoryBean在spring中的名称不是sessionFactory,该參数一定要指定,否则会出现找不到sessionFactory的例外。所以默认能够不写  
    13. -->  
    14.  <init-param>  
    15.      <param-name>sessionFactoryBean</param-name>  
    16.    <param-value>sessionFactory</param-value>  
    17.   </init-param>   
    18. </filter>  
    19. <filter-mapping>  
    20.     <filter-name>openSessionInViewFilter</filter-name>  
    21.     <url-pattern>/*</url-pattern>  
    22. </filter-mapping> 
    2. 在我们訪问持久层数据是使用 Spring 为我们的 HibernateDaoSupport 的支持,并使用当中的相应方法操作我们的持久层数据
  • 相关阅读:
    [LOJ#6068]. 「2017 山东一轮集训 Day4」棋盘[费用流]
    [BZOJ4842]Delight for a Cat[费用流]
    [HNOI2018]转盘[结论+线段树]
    [LOJ#6066]. 「2017 山东一轮集训 Day3」第二题[二分+括号序列+hash]
    [CF963E]Circles of Waiting[高斯消元网格图优化+期望]
    [CF966F]May Holidays[分块+虚树]
    【JZOJ5088】【GDOI2017第四轮模拟day2】最小边权和 排序+动态规划
    【JZOJ5086】【GDOI2017第四轮模拟day1】数列 折半搜索
    GDOI2017第四轮day1总结
    【51nod1563】坐标轴上的最大团 贪心
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7249686.html
Copyright © 2020-2023  润新知