Hibernate整合spring配置二级缓存

applicationContext.xml 文件配置:

<prop key="hibernate.cache.use_second_level_cache">true</prop>   <!--设置缓存机制为二级缓存 -->
<prop key="hibernate.cache.use_query_cache">true</prop>          <!--启动查询缓存 -->
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>  <!--设置二级缓存的Provider类 -->
<prop key="hibernate.cache.provider_configuration_file_resource_path">WEB-INF/classes/ehcache.xml</prop>   <!--设置缓存的配置文件路径 -->

将ehcache.xml文件放到src下面,并配置ehcache.xml文件如下:

<ehcache>
    <diskStore path="D:\cache" />

    <defaultCache maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"
        overflowToDisk="true" diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU" />
    <cache name="net.52itstyle.entity.DataAttr"
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   />
</ehcache>

在设置了缓存机制的类的xml文件中添加一段代码<cache
usage="read-write" region="net.52itstyle.entity.SmProduct/>"代码如下:

<hibernate-mapping>
    <!--SM_PRODUCT表的hibernate映射描述文件 -->
    <class name="net.nk.entity.SmProduct" table="SM_PRODUCT" >
        <cache usage="read-write" region="net.nk.entity.SmProduct"/>
         <!-- ID -->
        <id name="id" type="string">
            <column name="ID" />
            <generator class="assigned" />
        </id>

最后可以 通过放开hibernate的show_sql来查看是否缓存机制生效了

可能出现错误:

Java代码
Exception?in?thread?"main"?java.lang.NoClassDefFoundError:?edu/emory/mathcs/backport/java/util/concurrent/BlockingQueue 

下载jar包:点击打开链接

时间: 2024-08-27 21:40:27

Hibernate整合spring配置二级缓存的相关文章

Spring3+hibernate4配置二级缓存的问题

问题描述 Spring3+hibernate4配置二级缓存的问题 com/wjh/po/AfterPostPO.hbm.xmlcom/wjh/po/LogPO.hbm.xmlcom/wjh/po/PostPO.hbm.xmlcom/wjh/po/UserPO.hbm.xml org.hibernate.dialect.MySQLDialecttruefalseupdatetruetrue spring3+hibernate4 配置ehcache二级缓存只要一把上面的二级缓存配置的注释部分去掉,访

hibernate使用memcached作为二级缓存,怎么构建memcached集群

问题描述 hibernate使用memcached作为二级缓存,怎么构建memcached集群 我使用memcached作为hibernate的二级缓存实现,在memcached单节点的情况下,程序运行没问题.后来想做一个memcached的集群,就使用了magent来做.但是使用magent之后,hibernate的二级缓存就报超时异常:16:29:13832 DEBUG ReadWriteCache:160 - Cached: com.ct.po.TCtBizstatusType#10011

ssh配置二级缓存配置问题

问题描述 ssh配置二级缓存配置问题 我的项目中配置了多个数据源,我想给多个数据源分别配置二级缓存策略,跪求大神指导 解决方案 http://www.open-open.com/lib/view/open1351002982258.html

Redis整合Spring结合使用缓存实例_Redis

一.Redis介绍什么是Redis?      redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存

Redis整合Spring结合使用缓存实例(转)

         林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka          摘要:本文介绍了如何在Spring中配置redis,并通过Spring中AOP的思想,将缓存的方法切入到有需要进入缓存的类或方法前面. 一.Redis介绍 什么是Redis?       redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).z

Redis整合Spring结合使用缓存实例

一.Redis介绍 什么是Redis? redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合).zset(sorted set –有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原 子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存

Hibernate整合Spring出现的异常,jar包全导了,就是不对啊

问题描述 org.springframework.beans.factory.BeanDefinitionStoreException:UnexpectedexceptionparsingXMLdocumentfromclasspathresource[beans.xml];nestedexceptionisjava.lang.NullPointerExceptionatorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.d

struts2+spring+hibernate整合,spring出现问题.

问题描述 先看看我的配置文件:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

Hibernate中二级缓存的配置和使用

(一)Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where -. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象. 2) 把获得的所有数据对象根据ID放入到第二级缓存中. 3) 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查:查不到,如果配置了二级缓存,那么从二级缓存中查:查不到,再查询数据库,把结果按照ID放入到缓存. 4) 删除.更新.增加数据的时