1. 下载ehcache的相关jar文件并放置到Java Web工程的WebRoot/WEB-INF/lib目录下;
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"
/>
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
@Entity
public class Question implements Serializable{
}
5. 在执行查询的query语句上设置cacheable属性,以便将查询结果存入缓存: