SSH架构下ehcache缓存模块的配置使用

1. 下载ehcache的相关jar文件并放置到Java Web工程的WebRoot/WEB-INF/lib目录下;

SSH架构下ehcache缓存模块的配置使用

2. 编辑JPA配置文件 persistence.xml:

<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>

<property name="hibernate.cache.use_query_cache" value="true"/>

<property name="hibernate.cache.use_second_level_cache" value="true"/>

3. 将ehcache的配置文件ehcache.xml放置在Java Web工程的src目录下,并根据自身需要进行类似如下的配置:

<cache name="edu.bupt.laaip.model.Question"

maxElementsInMemory="500"

eternal="false"

timeToIdleSeconds="1800"

timeToLiveSeconds="3600"

overflowToDisk="false"

/> 
  

4. 在你想要添加缓存的JPA实体类上添加标签如下:

package edu.bupt.laaip.model;

import java.io.Serializable;

import java.util.Date;

import javax.persistence.*;

import org.hibernate.annotations.Cache;

import org.hibernate.annotations.CacheConcurrencyStrategy;

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)

@Entity

public class Question implements Serializable{

……

}

5. 在执行查询的query语句上设置cacheable属性,以便将查询结果存入缓存:

@SuppressWarnings("unchecked")

@Override

public List getAll() {

// TODO Auto-generated method stub

Query query = getEntityManager().createQuery("select q FROM Question q");

query.setHint("org.hibernate.cacheable", true);

return query.getResultList();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值