缓存配置文件
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU" />
<cache name="sampleCache1" maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="true" />
<cache name="sampleCache2" maxElementsInMemory="1000" eternal="true"
timeToIdleSeconds="0" timeToLiveSeconds="0" overflowToDisk="false" />
<cache name="com.wode.entity.User" maxElementsInMemory="1000" eternal="true"
timeToIdleSeconds="0" timeToLiveSeconds="0" overflowToDisk="false" />
使用二级缓存
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
使用二级缓存查询:
Query query=session.createQuery("select stuName from Student");
query.setCacheable(true); //这里就是使用二级查询缓存
System.out.println(query.list().get(0));
session.close();
Session session2=util.getSession();
Query query2=session2.createQuery("select stuName from Student");
query2.setCacheable(true); //这里就是使用二级查询缓存
System.out.println(query2.list().get(0));