1、抓取策略:

当提取一个对象的关联对象时,所要求的策略。
 
 fetch="select"
 
 
  customer:  lazy="false" 或者  session.get(Customer.class,id)   
  
   set(order   lazy="false")
   
    当加载sessin.get(Customer.class)时,会发出两条SQL
    
    
  customer:  lazy="true"  或者session.load()
  
   set(order  lazy="true")
   
    当得到customer属性的时候,发出第一条SQL语句
    
    当迭代order集合的时候,发出第二条SQL语句
  
  
  sesssion.createQuery("from Customer where id in(1,2,3,4,5,6,7,8)");  
  
  从customer获取order集合时,将发出9条SQL语句,这个时候的性能是很差的。
  
  这个时候会导致性能的下降。如果要提高性能,必须fetch="select"与batch-size两个属性结合起来使用   batch-size的为一次性抓取数据的次数
  
  
 fetch="join"
 
  customer和set集合的延迟加载将失效,这个时候,只发出一条sql语句
  
 fetch="subselect"
 
   
  sesssion.createQuery("from Customer where id in(1,2,3,4,5,6,7,8)"); 
  
  
  
2、缓存

一级缓存
 
 
  session级别的缓存
  
   1、session级别的缓存是私有缓存
   
   2、session级别的缓存数据存在于session中
 
   3、session缓存中的内容只有当前线程能够访问
   
   4、什么时候session缓存就不起作用了
   
    1、当session关闭的时候,session的缓存清空了
    2、当执行session.clear方法时,会清空session的所有的缓存中的数据
    3、当执行session.evict(object)时,会清空该对象的缓存的数据
 
 
 
 二级缓存
 
  sessionFactory级别的缓存
  
   1、sessionFactory级别的缓存是共享缓存,数据是共享的数据
   
   2、sessionFactory级别的缓存在什么情况下使用:
   
    1、如果二级缓存中的数据被不断的修改,这样,hibenate的性能会下降
    
   3、二级缓存怎么样起作用:
   
    hibernate的二级缓存是通过导入第三方组件来实现的
    
   4、二级缓存是如何配置的
   
     针对对象的二级缓存
     
     1、在hibenate的配置文件中
     
      <property name="hibernate.cache.use_second_level_cache">
       true
      </property>
      
      <property name="cache.provider_class">
       org.hibernate.cache.EhCacheProvider
      </property>
      
      
     2、ehcache.xml在src的目录下
     
     3、
   
 查询缓存
 
 
  1、在java的配置文件中,开启查询缓存
  
   <property name="cache.use_query_cache">true</property>
   
  2、query.setCacheable(true);

Hibernate优化策略相关推荐

  1. Hibernate查询以及优化策略

    文章目录 回顾 今天任务 教学目标 Hibernate查询 Hibernate优化策略 ==一. HQL查询== 1. HQL单表查询 1.1 准备项目 1.2 HQL单表基本查询 2. HQL多表查 ...

  2. hibernate jpa_JPA /Hibernate刷新策略初学者指南

    hibernate jpa 介绍 在我以前的文章中,我介绍了实体状态转换 对象关系映射范例. 当刷新当前持久性上下文时,所有管理实体状态转换都将转换为关联的数据库语句. Hibernate的刷新行为并 ...

  3. 亿级PV,常见性能优化策略总结与真实案例

    作者:晓明 来自:美团技术团队 0 题记 美团网是国内最大的O2O服务平台,虽然经常面临高并发.大流量等问题,但在用户体验优化上美团APP仍被众多IT同行所推崇,他们在性能优化方面积累的宝贵经验尤其值 ...

  4. CUDA 并行计算优化策略总结

    作者 | LustofLife@知乎 来源 | https://zhuanlan.zhihu.com/p/297201517 编辑 | 极市平台 导读 并行计算为了提高算法运行效率,本文通过以矩阵乘法 ...

  5. 一文概览深度学习中的五大正则化方法和七大优化策略

    深度学习中的正则化与优化策略一直是非常重要的部分,它们很大程度上决定了模型的泛化与收敛等性能.本文主要以深度卷积网络为例,探讨了深度学习中的五项正则化与七项优化策略,并重点解释了当前最为流行的 Ada ...

  6. webpack4.0打包优化策略(二)

    打包优化策略 webpack4.0打包优化策略(一) webpack4.0打包优化策略(二) webpack4.0打包优化策略(三) 区分开发和生产环境 通常我们在开发网页时需要区分构建环境 开发环境 ...

  7. 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略

    李钰 摘要:在计算机编程中,合理地运用数学算法所拥有的优势不但可以完好地针对所拥有的问题进行总结分类归纳,还可以将其归纳作为基础从而进行针对性的统一计算,并且能够将非常复杂的问题进行整体的简化并且将其 ...

  8. hbase数据读取优化_从hbase读取数据优化策略和实验对照结果

    起因:工作须要.我须要每5分钟从hbase中.导出一部分数据,然后导入到ES中.可是在開始阶段编写的python脚本,我发现从hbase读取数据的速度较慢,耗费大量的时间.影响整个导数过程,恐怕无法在 ...

  9. 标注(annotation)的反向优化策略 将Yunyang tensorflow-yolov3 predicted转换为正常yolo标注

    文章目录 原 20200708 当起始图片序号不是1时,可改成以下代码 原 执行evaluate.py后,会在predicted文件夹生成预测信息 如图,将Yunyang tensorflow-yol ...

最新文章

  1. Git入门第一集!(Git的下载地址、下载资源)
  2. 单链表中如何快速删除p指向的节点?( 简单方法:复杂度为O(1) )
  3. 设计模式1实践-开篇
  4. Spring--总体架构
  5. 我是一个喜欢桌游的前端女,跟朋友一起做了个桌游交流系统。在自己的系统里直播开发生活,希望得到更多交流...
  6. 前后端分离如何解决跨域的问题?
  7. 架构分享--微博架构
  8. tcp分包传图片 如何还原_技术控丨超详细解析TCP重传机制
  9. 学习笔记(2)centos7 下安装mysql
  10. extjs office java_Extjs使用(最最基础)
  11. 用Tensorflow基于Deep Q Learning DQN 玩Flappy Bird
  12. processon画图软件
  13. 安装软件时提示丢失MSVCR.dll,vc++运行库的问题
  14. 2年CFA三级考试连过的我,全靠笔记多!(无金融背景)
  15. Revit插件 | 建模助手 V1.8.52 爆炸式更新,你确定不来看看?
  16. 信息学竞赛报名指南(NOI)
  17. hash算法概念和hash加盐法
  18. JUST技术:基于HMM的实时地图匹配
  19. 从win10回退到win7的苦逼经历
  20. [Qt]图像处理小软件——给证件照换背景

热门文章

  1. VTK:K均值聚类用法实战
  2. JavaScript实现rabin-karp算法(附完整源码)
  3. wxWidgets:多文档界面实例
  4. boost::statechart模块实现类型信息测试
  5. boost::outcome模块coroutine_support相关的测试程序
  6. boost::mp11::mp_or相关用法的测试程序
  7. boost::gil::is_homogeneous用法的测试程序
  8. boost::function_types::has_property_tag用法的测试程序
  9. boost::core模块cmath相关测试程序
  10. Qt Creator编辑状态图