`
esffor
  • 浏览: 1370710 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate使用ehcache缓存技术

阅读更多
导读:
  经过一段时间的试验,终于把hibernate的缓存机制用上了。主要的代码如下示:
  
  Hibernate.cfg.xml
  
  <hibernate-configuration>
  <session-factory>
  <property name="myeclipse.connection.profile">conn</property>
  <property name="connection.url">
  jdbc:oracle:thin:@192.168.1.28:1521:hblz
  </property>
  <property name="connection.username">hblz_new</property>
  <property name="connection.password">123</property>
  <property name="connection.driver_class">
  oracle.jdbc.driver.OracleDriver
  </property>
  <property name="dialect">
  org.hibernate.dialect.Oracle9Dialect
  </property>
  <property name="hibernate.query.factory_class">
  org.hibernate.hql.classic.ClassicQueryTranslatorFactory
  </property>
  <property name="show_sql">true</property>
  <property name="hibernate.connection.provider_class">
  org.hibernate.connection.C3P0ConnectionProvider
  </property>
  <property name="hibernate.c3p0.max_size">20</property>
  <property name="hibernate.c3p0.min_size">5</property>
  <property name="hibernate.c3p0.timeout">120</property>
  <property name="hibernate.c3p0.max_statements">100</property>
  <property name="hibernate.c3p0.idle_test_period">120</property>
  <property name="hibernate.c3p0.acquire_increment">2</property>
  <property name="cache.provider_class">
  org.hibernate.cache.EhCacheProvider
  </property>
  <property name="cache.use_query_cache">true</property>
  <mapping resource="org/hblz/entity/County.hbm.xml">
  </mapping></session-factory>
  </hibernate-configuration>
  
  
  County.hbm.xml
  
  <hibernate-mapping>
  <class <br="" name="org.hblz.entity.County" table="GG_COUNTY"> dynamic-update="false" dynamic-insert="false">  dynamic-update="false" dynamic-insert="false">
  <cache usage="read-only">
  <id name="id" type="java.lang.Long" column="COUN_ID">
  <generator class="sequence">
  SEQ_GG_COUNTY
  </generator>
  </id>
  </cache><property name="name" type="java.lang.String" column="COUN_MC">
  </property><property name="code" type="java.lang.String" column="COUN_DM">
  <property <br="" name="parentId" column="COUN_SJID"> type="java.lang.Long" />  type="java.lang.Long" />
  
  </property></hibernate-mapping>
  
  
  
  Ehcache.xml
  
  <ehcache>
  <diskstore path="java.io.tmpdir">
  <defaultcache <br="" maxelementsinmemory="10000" eternal="false"> timeToIdleSeconds="300" timeToLiveSeconds="600"
overflowToDisk="true">  timeToIdleSeconds="300" timeToLiveSeconds="600"
  overflowToDisk="true">
  
  <cache <br="" name="org.hblz.entity.County" maxelementsinmemory="10000"> eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600"
overflowToDisk="true" />  eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600"
  overflowToDisk="true" />
  </diskstore></ehcache>
  
  
  TestCache.java
  package org.hblz.test;
  import java.util.List;
  import org.hblz.entity.County;
  import org.hblz.util.HibernateSessionFactory;
  import org.hibernate.Criteria;
  import org.hibernate.Session;
  public class TestCache {
  public static void main(String[] args) {
  Session s = HibernateSessionFactory.currentSession();
  Criteria c = s.createCriteria(County.class);
  c.setCacheable(true);
  List lst = c.list();
  County ct = (County) lst.get(0);
  System.out.println("--1--" + ct.getName());
  HibernateSessionFactory.closeSession();
  
  try {
  Thread.sleep(5000);
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  
  s = HibernateSessionFactory.currentSession();
  c = s.createCriteria(County.class);
  c.setCacheable(true);
  lst = c.list();
  ct = (County) lst.get(0);
  System.out.println("--2--" + ct.getName());
  HibernateSessionFactory.closeSession();
  }
  }
  
  显示结果:
  Hibernate: select this_.COUN_ID as COUN1_0_, this_.COUN_MC as COUN2_0_0_, this_.COUN_DM as COUN3_0_0_, this_.COUN_SJID as COUN4_0_0_ from GG_COUNTY this_
  --1--台安县
  --2--台安县
  这里只查询了一次数据库,缓存起到了作用!
  
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1601906

本文转自
http://blog.csdn.net/bingxue2332/archive/2007/05/09/1601906.aspx
分享到:
评论

相关推荐

    hibernate缓存ehcache用法

    这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时保存经常访问的数据,以减少对主存储器(如数据库)的...

    Hibernate + EhCache 实现数据缓存的处理

    为了优化数据库操作,开发人员经常采用数据缓存技术。本篇将详细探讨如何使用Hibernate ORM框架结合EhCache实现数据缓存的处理,从而提高系统的响应速度。 Hibernate是一个流行的Java持久化框架,它提供了一种便捷...

    Hibernate+ehcache二级缓存技术

    Hibernate+ehcache二级缓存技术 Hibernate+ehcache二级缓存技术

    spring3 hibernate4 ehcache实例

    总结,Spring3、Hibernate4和Ehcache的整合是Java企业级开发中常见的技术栈,通过合理的配置和使用,能有效提升系统的性能和响应速度。理解并熟练掌握这些技术的整合,对于开发者来说是提升技能的重要途径。通过阅读...

    EHCache缓存技术介绍

    【EHCache缓存技术介绍】 缓存技术是提高软件系统性能的重要手段,特别是在处理大量数据时,通过将常用数据存储在内存中,可以显著减少对硬盘或数据库的访问,从而加快数据获取速度。EHCache是一种广泛使用的开源...

    hibernate+ehcache jar包

    然而,随着应用程序规模的扩大,数据量的增加,数据库的读写压力也随之增大,此时,缓存技术的引入就显得尤为重要。Ehcache作为一款高效的本地内存缓存,被广泛应用于各种Java项目中,尤其是在与Hibernate结合时,...

    hibernate整合ehcache的jar包.zip

    总的来说,Hibernate整合Ehcache是一个常见的性能优化手段,通过缓存技术,能够在不增加太多复杂性的情况下,大大提高数据访问的速度和系统的响应效率。然而,使用缓存的同时也要注意缓存管理和维护,避免出现缓存...

    SSH三层架构MVC,Hibernate(ehcache)二级缓存技术,源代码

    SSH三层架构MVC(struts1.3+spring2.x+hibernate3.2),Hibernate(ehcache)二级缓存技术,Spring 注解形式依赖注入,ehcache缓存 源代码,内有MySql anbyke.sql文件,方便创建数据库演示效果!

    cache/ehcache缓存使用

    本文将详细讲解"cache/ehcache缓存使用"的相关知识点,包括缓存的基本概念、Ehcache的介绍、以及如何在Java应用中使用Ehcache进行缓存操作。 首先,我们要理解什么是缓存。缓存是一种存储技术,它临时存储常用或...

    Ehcache缓存

    **Ehcache缓存** Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于...

    Hibernate4 + Ehcache 例子

    标题 "Hibernate4 + Ehcache 例子" 暗示了我们将探讨如何在Java应用程序中集成Hibernate4 ORM框架和Ehcache缓存系统。这个例子可能是关于如何提高数据访问性能,通过缓存策略来减少数据库查询的次数。 描述中的链接...

    配置Spring+hibernate使用ehcache作为second-levelcache.docx

    Ehcache 是一个开源的缓存框架,提供了一个高性能的缓存解决方案,可以与 Hibernate 和 Spring 整合使用,以提高应用程序的性能。 缓存的重要性 在 Web 应用程序中,数据库访问是性能瓶颈之一。数据库访问需要消耗...

    hibernate-ehcache-4.1.4.Final.zip

    【标题】"hibernate-ehcache-4.1.4.Final.zip" 提供的是Hibernate ORM框架的一个版本,其中集成了Ehcache作为二级缓存解决方案。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发人员将数据库操作转化...

    ehcache 缓存技术

    **EHCache缓存技术** EHCache是一款高性能、轻量级的Java缓存框架,它广泛应用于各种Java应用程序中,特别是需要提升数据访问速度和减少数据库负载的场景。EHCache是基于内存的,但同时支持持久化,能有效地提高...

    Spring boot hibernate ehcache maven 整合源码

    在Spring Boot的基础上,我们常常会整合其他技术,如Hibernate和Ehcache,来构建高效的数据存储和缓存解决方案。Maven作为Java项目的构建工具,负责管理项目的依赖关系。在这个源码包中,我们将探讨如何将这些组件...

    Hibernate二级缓存(Ehcache)

    【标题】:“Hibernate二级缓存(Ehcache)” 【正文】: Hibernate是一个流行的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库操作。然而,随着应用规模的扩大,性能优化变得至关重要,...

    Hibernate+EhCache配置及使用说明详解

    EhCache 是 Hibernate 的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力。 EhCache 的使用注意点: 1. 当用 Hibernate 的方式修改表数据...

    springmvc4+spring4+hibernate5.1.3+二级缓存ehcache+fastjson配置

    在实际应用中,开发者需要根据项目需求调整这些配置,例如设置数据库连接参数、配置Ehcache缓存策略、定义SpringMVC的拦截器和视图解析器等。此外,还需要确保所有的依赖库已正确导入,以便项目能够顺利运行。这样的...

    hibernate+ehcache代码示例

    在IT行业中,Hibernate和Ehcache是两个非常重要的技术组件,尤其在企业级Java应用开发中扮演着核心角色。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,而Ehcache则是一种高效的分布式缓存...

Global site tag (gtag.js) - Google Analytics