美文网首页
Hibernate入门(五)一级缓存和快照

Hibernate入门(五)一级缓存和快照

作者: 再见信仰 | 来源:发表于2017-12-06 21:54 被阅读24次

本篇要说的是Hibernate一级缓存及快照的概念,读、写、清除的时机。


一级缓存的概念

Hibernate的一级缓存就是指Session缓存,Session缓存是一块内存空间,用来存放相互管理的Java对象。在使用Hibernate查询对象的时候,首先会使用对象属性的OID值在Hibernate的一级缓存中进行查找,如果找到匹配OID值的对象,就直接将该对象从一级缓存中取出使用,不会再查询数据库;如果没有找到相同OID值的对象,则会去数据库中查找相应数据。Hibernate一级缓存的作用就是减少对数据库的访问次数。
在Session接口的实现中包含一些列的Java集合,这些Java集合构成了Session缓存。只要Session实例没有结束生命周期,存放在它缓存中的对象也不会结束生命周期。固一级缓存也被称为是Session的基本缓存。

Hibernate的一级缓存的读写清时机:

  • 读:当应用程序调用Session接口的save、update、saveOrUpdate方法时,如果Session缓存中没有相应的对象,Hibernate就会自动把从数据库中查询到的相应对象信息加入到一级缓存中去。
  • 写: 当调用Session接口的load、get方法,以及Query接口的list、iterator方法时,会判断缓存中是否存在该对象,有则返回,不会查询数据库,如果缓存中没有要查询对象,再去数据库中查询对应对象,并添加到一级缓存中。
  • 清空: 当调用Session的close方法时,Session缓存会被清空。

相关文章

  • Hibernate入门(五)一级缓存和快照

    本篇要说的是Hibernate一级缓存及快照的概念,读、写、清除的时机。 一级缓存的概念 Hibernate的一级...

  • Hibernater学习笔记(三)

    1.Hibernate缓存 Hibernate一级缓存hibernate 的一级缓存默认是打开的hibernate...

  • Hibernate 缓存机制

    Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存。 1.Hibernate...

  • Hibernate | 一二三级缓存详解

    Hibernate缓存简介和对比、一级缓存、二级缓存详解 hibernate缓存机制 1.缓存类型: 1.1 事...

  • hibernate缓存机制书目录

    hibernate缓存机制 什么是缓存 缓存的范围 Hibernate一级缓存 hibernate二级缓存 hib...

  • 3.一级缓存与快照机制

    一级缓存 hibernate一级缓存即为session缓存,在使用Hibernate查询对象的时候,首先会使用对象...

  • Hibernate框架笔记(二)

    一、一级缓存机制与快照 一级缓存和快照是在Session创建后查询到数据时产生,销毁时消失,缓存为了不频繁为了同一...

  • Mybatis缓存

    和Hibernate框架一样,Mybatis的缓存也分为一级缓存和二级缓存。 一级缓存 基于PerpetualCa...

  • 2018-07-17

    Hibernate一级缓存和二级缓存的区别 一级缓存: session级别的缓存, 当我们使用了get, ...

  • hibernate 面试题集锦

    hibernate 的缓存机制: 分为一级缓存和二级缓存。一级缓存是session中的缓存,在执行一个查询...

网友评论

      本文标题:Hibernate入门(五)一级缓存和快照

      本文链接:https://www.haomeiwen.com/subject/iqjhixtx.html