Hibernate3.6 & Ehcache2.4.3配置
关于集群配置:
Ehcache分布式缓存 http://simpleframework.net/blog/v/7986.html
Ehcache集群环境配置 http://zhouree.iteye.com/blog/335623
自己成功使用ehcache集群的总结 http://www.open-open.com/lib/view/open1345651870876.html
pom.xml
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-ehcache</artifactId><version>3.6.10.Final</version></dependency><dependency><groupId>hsqldb</groupId><artifactId>hsqldb</artifactId><version>1.8.0.4</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-testing</artifactId><version>3.6.10.Final</version></dependency><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache-core</artifactId><version>2.4.3</version></dependency>
<bean id="sessionFactory"/></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</prop><prop key="hibernate.show_sql">false</prop><prop key="hibernate.format_sql">false</prop><prop key="hibernate.cache.use_query_cache">true</prop> <prop key="hibernate.cache.use_second_level_cache">true</prop> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.EhCacheRegionFactory</prop> <prop key="hibernate.cache.use_structured_entries">true</prop> <prop key="hibernate.generate_statistics">true</prop></props></property></bean>
<?xml version="1.0" encoding="UTF-8"?><ehcache><!--如果缓存中的对象存储超过指定的缓存数量的对象存储的磁盘地址 --><diskStore path="D:/ehcache" /><!-- 默认cache:如果没有对应的特定区域的缓存,就使用默认缓存 --><defaultCache maxElementsInMemory="10000" eternal="false"timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="false" /><!-- 指定区域cache:通过name指定,name对应到Hibernate中的区域名即可 --><cache name="cn.javass.h3test.model.UserModel" eternal="false"maxElementsInMemory="100" timeToIdleSeconds="1200" timeToLiveSeconds="1200"overflowToDisk="false"></cache></ehcache>
package com.pandy.ssh4.domian;// Generated 2013-3-7 17:34:40 by Hibernate Tools 4.0.0import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;import javax.persistence.Transient;import org.hibernate.annotations.Cache;import org.hibernate.annotations.CacheConcurrencyStrategy;/** * Table3 generated by hbm2java */@SuppressWarnings("serial")@Entity@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @Table(name = "TABLE3", schema = "dbo", catalog = "Test")public class Table3 extends BasicDomian implements java.io.Serializable {private int id;private String name;private String password;private String email;......}@SuppressWarnings("rawtypes")public void doEhcache2() {Session session = getCurrentSession();String hql = " from com.pandy.ssh4.domian.Table3";Query query = session.createQuery(hql);query.setCacheable(true);//设定使用缓存List list = query.list();System.out.println(list.size());}