zoukankan      html  css  js  c++  java
  • mybatis和hibernate中的懒加载

    概念:
    所谓懒加载就是延时加载,延迟加载。
    什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。
    至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适,
    因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,
    我们让数据在需要的时候才进行加载,这时我们就用到了懒加载
    实现:
    MyBatis懒加载
    resultMap可以实现高级映射,即使用association和collection实现一对一、一对多的映射,association和collection具备懒加载的功能。懒加载可以提高数据库性能,MyBatis延迟加载的策略是先从单表查询然后再从关联表查询,这样可以大大提高数据库性能,单表查询要比关联查询多张表速度要快。

    hibernate的懒加载
    Hibernate中主要是通过代理(proxy)机制来实现延迟加载。它的具体过程:Hibernate从数据库获取某一个对象数据时、获取某一个对象的集合属性值时,或获取某一个对象所关联的另一个对象时,由于没有使用该对象的数据,hibernate并不是数据库加载真正的数据,而只是为该对象创建一个代理对象来代表这个对象,这个对象上的所有属性都是默认值;只有在真正需要使用该对象的数据时才创建这个真实对象,真正从数据库中加载它的数据,这样在某些情况下,就可以提高查询效率。

    操作:
    MyBatis懒加载-配置文件开启懒加载
    转自:https://www.cnblogs.com/ysocean/p/7336945.html?utm_source=debugrun&utm_medium=referral
     hibernate的懒加载-lazy=false添加进行关闭懒加载/采用spring中OpenSessionInViewFilter
    转自:https://blog.csdn.net/lch_2016/article/details/81051685

  • 相关阅读:
    GitLab 内存使用优化
    记一次 GitLab 的迁移过程
    MAC 最全快捷键
    IDEA中通过Java调用Python脚本报错
    远程服务调用PRC发展史
    分布式&微服务传送门
    (11)MySQL进阶篇SQL优化(InnoDB锁问题排查与解决)
    不懂物理的前端不是好的游戏开发者(一)—— 物理引擎基础
    京东购物小程序 | Taro3 项目分包实践
    浅谈树模型与集成学习-从决策树到GBDT
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/10606463.html
Copyright © 2011-2022 走看看