zoukankan      html  css  js  c++  java
  • Hibernate懒加载

    懒加载为hibernate中比较常用的特性之一,下面说一下解决懒加载的几种方式

     

    1.显式初始化(在查询方法内部)

    要查询某员工属于哪个部门的时候,需要对Department进行预先查询

    使用语句

        Hibernate.initialize(Department.class);  

    2.修改对象关系文件,将lazy 改写lazy = false,即关闭懒加载


    以上两种方法,确实可以解决问题,但是缺点是无论后面是否使用该对象,hibernate都会向数据库发出SQL语句请求数据,造成不必要的性能浪费。


    3.使用过滤器(web项目)

    ①获取session的方式必须使用getCurrentSession

    4.在SSH框架中,使用spring提供的openSessionView

    其原理和第三种方法中使用Filter类似,只不过这个filter是spring提供的。使用时只需要在web.xml文件配置如下:

    ②特殊的关闭session方式

     <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>  
    对自己狠一点!
  • 相关阅读:
    npm install --save
    ajax总结
    javascript学习资料
    前端工具学习资料
    php学习资料
    Bootstrap学习资料
    css学习资料
    Express搭建一个Node项目
    网站性能优化
    POJ 1862 Stripies【哈夫曼/贪心/优先队列】
  • 原文地址:https://www.cnblogs.com/zzx6/p/7406383.html
Copyright © 2011-2022 走看看