hibernate cache2

在hibernate.cfg.xml 中添加缓存  t1oo 一对多 t2oo (t2ooSet)
     < property  name ="cache.provider_class" > org.hibernate.cache.EhCacheProvider </ property >
    
< property  name ="hibernate.cache.use_query_cache" > true </ property >

    
< mapping  resource ="hbn/bean/T1oo.hbm.xml"   />
    
< mapping  resource ="hbn/bean/T2oo.hbm.xml"   />

    
< class-cache  class ="hbn.bean.T1oo"  usage ="read-only"   />
    
< collection-cache  collection ="hbn.bean.T1oo.t2ooSet"  usage ="read-only"   />
    
< class-cache  class ="hbn.bean.T2oo"  usage ="read-only"   />

在src根目录下 ehcache.xml
<? xml version="1.0" encoding="UTF-8" ?>
< ehcache >
    
< diskStore  path ="java.io.tmpdir" />
    
< defaultCache
        
maxElementsInMemory ="10000" //最大缓存数目
        eternal
="false" <!-- 缓存是否持久 -->
        timeToIdleSeconds
="120" <!-- 当缓存闲置n秒后销毁 -->
        timeToLiveSeconds
="120" <!-- 当缓存存活n秒后销毁-->
        overflowToDisk
="true" <!-- 是否保存到磁盘,当系统当机时-->
        diskPersistent
="false"
        diskExpiryThreadIntervalSeconds
="120" />

     < cache
     
name ="hbn.bean.T1oo"
     maxElementsInMemory
="450"
     eternal
="false"
     timeToLiveSeconds
="600"
     overflowToDisk
="true" />

</ ehcache >

测试:
     public   void  testCa() throws  Exception{
        System.out.println( getT1ooAll() );
        
        Thread.sleep(
2 * 1000 );
        
        System.out.println(
getT1ooAll () );
    }

控制台输出
Hibernate:  select  t1oo0_.id  as  id, t1oo0_.name  as  name0_  from  t1oo t1oo0_ limit ?

Hibernate: 
select  t2ooset0_.aid  as  aid1_, t2ooset0_.id  as  id1_, t2ooset0_.id  as  id0_, t2ooset0_.version  as  version1_0_, t2ooset0_. avg   as  avg1_0_, t2ooset0_.aid  as  aid1_0_  from  t2oo t2ooset0_  where  t2ooset0_.aid = ?
Hibernate: 
select  t2ooset0_.aid  as  aid1_, t2ooset0_.id  as  id1_, t2ooset0_.id  as  id0_, t2ooset0_.version  as  version1_0_, t2ooset0_. avg   as  avg1_0_, t2ooset0_.aid  as  aid1_0_  from  t2oo t2ooset0_  where  t2ooset0_.aid = ?
24  :  23  :  25  :  2

//在这缓存成功 没向数据库提交 sql语句
24  :  23  :  25  :  2



你可能感兴趣的:(hibernate cache2)