范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Hibernate一级缓存详解

  Hibernate 是一款全自动 ORM 框架,它会在应用程序访问数据时,自动生成 SQL 语句并执行,因此开发人员不需要自己编写 SQL 语句,但这也造成它无法像 MyBatis 一样,能够直接从 SQL 层面严格控制其执行性能以及对数据库的访问频率,所以很容易出现性能不佳的情况。
  为此,Hibernate 提供了多种性能优化手段(例如 HQL、懒加载策略、抓取策略以及缓存机制),其中缓存机制是 Hibernate 重要的优化手段之一,它可以有效地减少应用程序对数据库的访问的次数,提高应用程序的运行性能。  缓存
  缓存是位于应用程序和永久性数据存储源(例如硬盘上的文件或者数据库)之间,用于临时存放备份数据的内存区域,通过它可以降低应用程序读写永久性数据存储源的次数,提高应用程序的运行性能。
  注:永久性数据存储源一般包括两种,数据库和硬盘上的文件,它们都可以永久的保存数据,但本教程中的永久性数据库存储源则是特指数据库,因此在后面的教程中,我们将使用数据库来代替永久性数据存储源的书法,特此说明。  缓存具有以下特点:
  缓存中的数据通常是数据库中数据的备份,两者中存放的数据完全一致,因此应用程序运行时,可以直接读写缓存中的数据,而不再对数据库进行访问,可以有效地降低应用程序对数据库的访问频率。
  缓存的物理介质通常是内存,永久性数据存储源的物理介质为硬盘或磁盘,而应用程序读取内存的速度要明显高于硬盘,因此使用缓存能够有效的提高数据读写的速度,提高应用程序的性能。
  由于应用程序可以修改(即"写")缓存中的数据,为了保证缓存和数据库中的数据保持一致,应用程序通常会在在某些特定时刻,将缓存中的数据同步更新到数据库中。
  Hibernate 也提供了缓存机制,当查询数据时,首先 Hibernate 会到缓存中查找,如果找到就直接使用,找不到时才从永久性数据存储源(通常指的是数据库)中检索,因此,把频繁使用的数据加载到缓存中,可以减少应用程序对数据库的访问频次,使应用程序的运行性能得以提升。
  Hibernate 提供了两种缓存机制:一级缓存和二级缓存。下面,我们就对一级缓存进行介绍。
  Hibernate 一级缓存
  Hibernate 一级缓存是 Session 级别的缓存,它是由 Hibernate 管理的,不可卸载。
  Hibernate 一级缓存是由 Session 接口实现中的一系列 Java 集合构成的,其生命周期与 Session 保持一致。
  Hibernate 一级缓存中存放的数据是数据库中数据的备份,在数据库中数据以数据库记录的形式保存,而在 Hibernate 一级缓存中数据是以对象的形式存放的。
  当使用 Hibernate 查询对象时,会首先从一级缓存中查找,若在一级缓存中找到了匹配的对象,则直接取出并使用;若没有在一级缓存中找到匹配的对象,则去数据库中查询对应的数据,并将查询到的数据添加到一级缓存中。由此可见,Hibernate 的一级缓存机制能够在 Session 范围内,有效的减少对数据库的访问次数,优化 Hibernate 的性能。
  一旦对象被存入一级缓存中,除非用户手动清除,不然只要 Session 实例的生命周期没有结束,存放在其中的对象就会一直存在。当 Session 关闭时,Session 的生命周期结束,该 Session 所管理的一级缓存也会立即被清除;
  一级缓存的特点
  Hibernate 一级缓存具有以下特点:
  一级缓存是 Hibernate 自带的,默认是开启状态,无法卸载。
  Hibernate 一级缓存中只能保存持久态对象。
  Hibernate 一级缓存的生命周期与 Session 保持一致,且一级缓存是 Session 独享的,每个 Session 不能访问其他的 Session 的缓存区,Session 一旦关闭或销毁,一级缓存中的所有对象将全部丢失。
  当通过 Session 接口提供的 save()、update()、saveOrUpdate() 和 lock() 等方法,对对象进行持久化操作时,该对象会被添加到一级缓存中。
  当通过 Session 接口提供的 get()、load() 方法,以及 Query 接口提供的 getResultList、list() 和 iterator() 方法,查询某个对象时,会首先判断缓存中是否存在该对象,如果存在,则直接取出来使用,而不再查询数据库;反之,则去数据库查询数据,并将查询结果添加到缓存中。
  当调用 Session 的 close() 方法时,Session 缓存会被清空。
  一级缓存中的持久化对象具有自动更新数据库能力。
  一级缓存是由 Hibernate 维护的,用户不能随意操作缓存内容,但用户可以通过 Hibernate 提供的方法,来管理一级缓存中的内容,如下表。
  返回值类型
  方法
  描述
  void
  clear()
  该方法用于清空一级缓存中的所有对象。
  void
  evict(Object var1)
  该方法用于清除一级缓存中某一个对象。
  void
  flush() throws HibernateException
  该方法用于刷出缓存,使数据库与一级缓存中的数据保持一致。
  开课吧广场-人才学习交流平台

为什么女性宇航员要结完婚才能上太空?答我国女宇航员选拔中,并没有明确要求必须生育,但是会尽量选拔已婚的女性,因为结婚后的女性身心更为成熟和稳重而且宇航员的选拔对飞行经历身心要求非常高,这是一个漫长的选拔过程,一般被选雷军可能也没想到,只有小米青春版是阉割,荣耀和iQOO都是微调文蜗牛有品现在的手机厂商们学聪明了,为了让自己的机海战术不那么明显,就会玩一系多机的战略,而其中最让人诟病就是青春版提到青春版大家首先想到的都是阉割,的确纵观所有发布过青春版产品的抖音团购剑指美团,能力尚欠缺?随着抵制二选一反垄断风暴接连来袭,互联网巨头的举手投足都备受瞩目。今年初,不少用户注意到,在北京上海杭州等一二线城市所在的抖音短视频APP(以下简称抖音)同城页面中,团购出现在了最旅游单反相机,选择什么镜头可以一镜走天下,佳能相机?不知道你是什么机身,下面我根据价格从低到高推荐5只佳能镜头,供你选择。佳能(Canon)EF75300mmf45。6III远摄变焦镜头,售价1300元这是一只远摄变焦镜头,跨度特别iOSiPadOS15。5Beta2发布更新幅度有限苹果公司今天向开发者发布了iOS15。5和iPadOS15。5的第二个测试版,用于测试目的,新软件是在第一个测试版发布两周后推出的。开发人员可以通过苹果开发者中心下载iOS15。5昆仑万维海外的最后一寸蓝海在哪里?把小牌打好,把好牌打大,把大牌打赢。文丨马可欣编辑丨宋玮2010,中国迈入移动互联网那一年,BAT刚刚成为一个代号。就像一个分叉路口,一批创业公司预感到中国未来会是红海,于是他们选大数据和商业智能的关系是什么?商业智能商业智能BI(Businesslntelligence),是基于企业服务的一整套数据利用方案,在实际运作中主要负责打通企业各部门业务系统(ERPOA)数据,并将这些不同来源马斯克与推特的关系将走向何方敌意收购抑或另起灶炉?马斯克(新华社记者杨磊图)2022年4月4日,美国证券交易委员会披露TeslaSpaceX的CEOElonMusk拥有推特Twitter(TWTR。US)公司9。2股份,成为最大股他和他和他,闷声搞大事8500万个岗位的人将因机器人失业。这个热搜,直接把Sir看愣了。据世界经济论坛估计,2025年人工智能将消灭8500万个原有工作岗位,创造9700万个新岗位。你说,这不还有120iPadProApplepencil武装到牙齿的实用App推荐(学习向)去年狠心换了自己用了三年的iPadAir2,换成了iPadPro3(11寸)Applepencil2,真的,这是一个让你爽的飞起的组合,学习,娱乐,无所不能,今天我主要给大家介绍一记录一次使用Easyexcel上传导入数据库和导出EXCEL的实现过程这是一个最简单的例子,使用了SpringbootThymeleafMybatis等技术完成了初步的导入,给和我一样的初学者提供一点参考。一数据表结构SETNAMESutf8mb4S
最后10天倒计时!鸿蒙OS正式版或全面上线,首批优先升级名单确定2年的等待并没有白费,还有最后10天倒计时,鸿蒙OS系统正式版就要全面上线了!6月2日这一天,值得期待!虽然4月份开始,鸿蒙OS公测版就已经上线,已经有不少用户抢先体验了鸿蒙OS系2022年第一季度交付,车主期待已久的蔚来ET7到底怎么样?在众多的造车新势力中,蔚来可以说是其中的佼佼者了,无论是销量品牌影响力还有车型售价来看都属于前列。而蔚来的首款电动轿车ET7更是让不少人期待已久。据了解,蔚来ET7在5月13日完成早报(05。22)金融委打击比特币挖矿和交易行为,加密货币集体下挫!银保监会开出5张大罚单!BOSS直聘赴美IPO各位早早报君先带大家看看过去24小时全球市场个股热点。银行板块中,摩根大通涨1。14,招商银行跌2。45,美国银行涨1。27医药板块中,强生跌0。06,辉瑞跌0。42,礼来涨0。1新能源车为什么跑高速特耗电?这里提到的新能源车专指纯电动车(EV)或插电式混合动力车(如增程式电动汽车)。新能源车跑高速时的能耗分析车辆前进时,受到向后方向的空气风阻,向后方向的摩擦力(以及轮胎变形导致的能量发改委力挺居住社区充电桩建设新能源车家充难题将破解?听听专家怎么说每经记者孙桐桐每经编辑孙磊5月20日,国家发展改革委国家能源局联合发布关于进一步提升充换电基础设施服务保障能力的实施意见(征求意见稿)(以下简称实施意见),覆盖加快推进居住社区充电美团,一家会被历史唾弃的企业(美团的黑暗本质)美团,一家标榜使命是让大家吃得更好,生活更好的企业!本质却是披着光鲜外衣,行着黑暗之道的企业!可能对于许多消费者而言,美团的确是一个能让他们生活便捷并且享受实惠的公司,而对于其他企月均销量200辆,极狐汽车如何救北汽新能源?从高位跌落,再爬到高位,往往比第一次登上高位更艰难。第一次是初生牛犊,第二次是惊弦之鸟,现实世界对萌新的宽容,总是比久经沙场的老将要多。曾经连续7年登顶国内纯电动汽车销冠的北汽新能生态创新进行时第五期英特尔AI百佳企业亮相,总估值超260亿元集微网消息5月20日,英特尔公布了第五期AI百佳创新激励计划创新团队名单。并在2021第二届深圳(国际)人工智能展暨智能制造产业创新高峰论坛中,与德勤和深圳人工智能行业协会联合发布新能源物流车推广还需政策加码来源中国交通新闻网近年来,凭借诸多利好政策推动,新能源物流车市场份额逐步扩大。然而不尽如人意的是,当前我国约2000万辆物流车中,新能源物流车保有量仅约50万辆。新能源物流车推广应余承东定下新目标,华为完成蜕变,焕发第二春?华为5G技术设备的领先,一举将老美拉下了通信霸主的宝座,这让一向高傲的美科技界倍感焦虑,很显然,以华为为代表的中国科技力量,已经触碰到了他们的敏感神经。为了争夺5G主导权,老美可谓新华三与江苏有线数据公司签署战略合作协议,共创智慧广电新篇章5月20日,紫光股份旗下新华三集团与江苏有线数据网络有限责任公司(以下简称江苏有线数据公司)举行战略合作协议签约仪式,双方将围绕多行业集客业务重点社会民生领域数字建设5G技术和业务