知识大全 hibernate的二级缓存介绍

Posted

篇首语:事亲尽教自天成,鉴本无尘水本清。相彼禽兮犹学习,灵乌反哺更分明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 hibernate的二级缓存介绍相关的知识,希望对你有一定的参考价值。

  hibernate二级缓存是由SessionFactory管理 所以又叫SessionFactory级缓存 它是通过不同的类库来实现的 比如ehcache oscache等 和一级缓存一样 二级缓存也是用来缓存实体对象的 对普通属性不缓存

  hibernate二级缓存的使用需要进行必要的配置 主要是四个地方(这里以ehcache为例)

   > 配置echcache xml文件

   > 开启二级缓存 修改hibernate cfg xml文件

  

  true

   > 指定缓存产品提供商 修改hibernate cfg xml文件

  

   hibernate cache EhCacheProvider

   > 指定那些实体类使用二级缓存(两种方法)

   ) 在映射文件中采用 标签

   ) 在hibernate cfg xml文件中 采用 标签

  hibernate二级缓存配置上之后 就成了 客观存在 hibernate在使用某些方法的时候默认就使用和维护了二级缓存(哪怕你出于某种原因希望使用也不行) 因此 在使用二级缓存时进行一定的控制还是必要的 Session就提供了设置使用二级缓存的模式的方法(setCacheMode)来实现 当session调用某个方法时对二级缓存的存取改变

   实体类

    Student java   public class Student    private Integer id;   private String name;   //一系列的setter getter方法   

   映射文件

  Student hbm xml

     <class name= sxt hibernate cache entity Student  table= sxt_hibernate_student >                <!  指定本类的对象使用二级缓存(这也可以放在hibernate cfg xml中统一指定)  >      <!       <cache usage= read only />        >      <id name= id  length= >        <generator class= native ></generator>      </id>      <property name= name  length= ></property>    </class>

   二级缓存配置文件

  ehcache xml

     <ehcache>    <!  当二级缓存溢出时 对象保存的临时磁盘路径  >          <diskStore path= java io tmpdir />          <! name= sampleCache  缓存名字                  maxElementsInMemory=  缓存里可存放的最大对象数                   eternal= true  缓存对象是否永久有效(true表示是)                   timeToIdleSeconds=  对象在缓存中存活的空闲时间 即空闲多久它就失效 单位是秒                   timeToLiveSeconds=  对象在缓存中存活的时间 单位是秒                   overflowToDisk= true     当缓存溢出时 对象是否保存到磁盘上 保存的磁盘路径由<diskStore>中的path指定            >          <defaultCache                  maxElementsInMemory=                   eternal= false                   timeToIdleSeconds=                   timeToLiveSeconds=                   overflowToDisk= true                   />  </ehcache>

   hibernate配置文件

  hibernate cfg xml

   <hibernate configuration>    <session factory>      <property name= nnection url >jdbc:oracle:thin:@localhost: :ORCL </property>      <property name= nnection driver_class >oracle jdbc driver OracleDriver</property>      <property name= nnection username >scott</property>      <property name= nnection password >yf </property>      <property name= hibernate dialect > hibernate dialect Oracle Dialect</property>      <property name= hibernate show_sql >true</property>            <!  开启二级缓存 其实hibernate默认就是开启的 这里显示的指定一下  >      <property name= hibernate cache use_second_level_cache >true</property>      <!  指定二级缓存产品的提供商  >      <property name= hibernate cache provider_class > hibernate cache EhCacheProvider</property>            <mapping resource= /sxt/hibernate/cache/entity/Student hbm xml />            <!  指定那些类使用二级缓存  >      <class cache usage= read only  class= sxt hibernate cache entity Student />    </session factory>  </hibernate configuration>

cha138/Article/program/Java/ky/201311/28276

相关参考

知识大全 hibernate二级缓存

  第一步添加二级缓存配置文件ehcachexml到项目的src目录  ehcachexml文件可以在hibernatereleaseFinal\\project\\etc目录下找到  第二步配置hi

知识大全 hibernate3二级缓存的配置及测试

配置ehcachexml文件放到classpath下 <?xmlversion=encoding=GBK?>     <e

知识大全 Hibernate缓存机制

Hibernate缓存机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  缓存是位于应用程序与物

知识大全 Hibernate获取数据与缓存使用

Hibernate获取数据与缓存使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibern

知识大全 hibernate的缓存和CRUD

hibernate的缓存和CRUD  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinz

知识大全 关于hibernate的缓存和CRUD。

关于hibernate的缓存和CRUD。  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  hibe

知识大全 关于hibernate的缓存和CRUD

关于hibernate的缓存和CRUD  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hiber

知识大全 Hibernate缓存何时使用和如何使用

Hibernate缓存何时使用和如何使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用hibernate的优势

  Hibernate在解决性能问题方面做得非常好有了它的缓存机制使用第三方缓存和数据库连接池就较好的解决的性能问题但这些还不够hibernate给了开发者足够的自由让开发者自己去控制性能问题  学习

知识大全 使用hibernate的11大优势

  Hibernate在解决性能问题方面做得非常好有了它的缓存机制使用第三方缓存和数据库连接池就较好的解决的性能问题但这些还不够hibernate给了开发者足够的自由让开发者自己去控制性能问题  学习