导读:
经过一段时间的试验,终于把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 ORM框架结合EhCache实现数据缓存的处理,从而提高系统的响应速度。 Hibernate是一个流行的Java持久化框架,它提供了一种便捷...
Hibernate+ehcache二级缓存技术 Hibernate+ehcache二级缓存技术
总结,Spring3、Hibernate4和Ehcache的整合是Java企业级开发中常见的技术栈,通过合理的配置和使用,能有效提升系统的性能和响应速度。理解并熟练掌握这些技术的整合,对于开发者来说是提升技能的重要途径。通过阅读...
【EHCache缓存技术介绍】 缓存技术是提高软件系统性能的重要手段,特别是在处理大量数据时,通过将常用数据存储在内存中,可以显著减少对硬盘或数据库的访问,从而加快数据获取速度。EHCache是一种广泛使用的开源...
然而,随着应用程序规模的扩大,数据量的增加,数据库的读写压力也随之增大,此时,缓存技术的引入就显得尤为重要。Ehcache作为一款高效的本地内存缓存,被广泛应用于各种Java项目中,尤其是在与Hibernate结合时,...
总的来说,Hibernate整合Ehcache是一个常见的性能优化手段,通过缓存技术,能够在不增加太多复杂性的情况下,大大提高数据访问的速度和系统的响应效率。然而,使用缓存的同时也要注意缓存管理和维护,避免出现缓存...
SSH三层架构MVC(struts1.3+spring2.x+hibernate3.2),Hibernate(ehcache)二级缓存技术,Spring 注解形式依赖注入,ehcache缓存 源代码,内有MySql anbyke.sql文件,方便创建数据库演示效果!
本文将详细讲解"cache/ehcache缓存使用"的相关知识点,包括缓存的基本概念、Ehcache的介绍、以及如何在Java应用中使用Ehcache进行缓存操作。 首先,我们要理解什么是缓存。缓存是一种存储技术,它临时存储常用或...
**Ehcache缓存** Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于...
标题 "Hibernate4 + Ehcache 例子" 暗示了我们将探讨如何在Java应用程序中集成Hibernate4 ORM框架和Ehcache缓存系统。这个例子可能是关于如何提高数据访问性能,通过缓存策略来减少数据库查询的次数。 描述中的链接...
Ehcache 是一个开源的缓存框架,提供了一个高性能的缓存解决方案,可以与 Hibernate 和 Spring 整合使用,以提高应用程序的性能。 缓存的重要性 在 Web 应用程序中,数据库访问是性能瓶颈之一。数据库访问需要消耗...
【标题】"hibernate-ehcache-4.1.4.Final.zip" 提供的是Hibernate ORM框架的一个版本,其中集成了Ehcache作为二级缓存解决方案。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发人员将数据库操作转化...
**EHCache缓存技术** EHCache是一款高性能、轻量级的Java缓存框架,它广泛应用于各种Java应用程序中,特别是需要提升数据访问速度和减少数据库负载的场景。EHCache是基于内存的,但同时支持持久化,能有效地提高...
在Spring Boot的基础上,我们常常会整合其他技术,如Hibernate和Ehcache,来构建高效的数据存储和缓存解决方案。Maven作为Java项目的构建工具,负责管理项目的依赖关系。在这个源码包中,我们将探讨如何将这些组件...
【标题】:“Hibernate二级缓存(Ehcache)” 【正文】: Hibernate是一个流行的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库操作。然而,随着应用规模的扩大,性能优化变得至关重要,...
EhCache 是 Hibernate 的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力。 EhCache 的使用注意点: 1. 当用 Hibernate 的方式修改表数据...
在实际应用中,开发者需要根据项目需求调整这些配置,例如设置数据库连接参数、配置Ehcache缓存策略、定义SpringMVC的拦截器和视图解析器等。此外,还需要确保所有的依赖库已正确导入,以便项目能够顺利运行。这样的...
在IT行业中,Hibernate和Ehcache是两个非常重要的技术组件,尤其在企业级Java应用开发中扮演着核心角色。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,而Ehcache则是一种高效的分布式缓存...