沉睡森林@漂在北京

          本處文章除注明“轉(zhuǎn)載”外均為原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            152 隨筆 :: 4 文章 :: 114 評(píng)論 :: 0 Trackbacks
          1.  首先設(shè)置EhCache,建立配置文件ehcache.xml,默認(rèn)的位置在class-path,可以放到你的src目錄下:
          xml version="1.0" encoding="UTF-8"?>  
          <ehcache>  
          <diskStore path="java.io.tmpdir"/>    
          <defaultCache  
          maxElementsInMemory="10000"   
          eternal
          ="false"   
            
          overflowToDisk
          ="true"   
            
          timeToIdleSeconds
          ="300"   
          timeToLiveSeconds
          ="180"   
          diskPersistent
          ="false"  
          diskExpiryThreadIntervalSeconds
          = "120"/>    
          ehcache>  
            2.  在Hibernate配置文件中設(shè)置:

          <hibernate-configuration>
          <session-factory>……<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property><property name="cache.use_second_level_cache">true</property>……</session-factory></hibernate-configuration>
                  此外,可以把cache.use_second_level_cache設(shè)置為false關(guān)閉所有的hibernate二級(jí)緩存。但此屬性對(duì)指定
          <cache>的類缺省為true。
           
             3.  為了使用二級(jí)緩存,需要在每一個(gè)Hibernate Entity上配置。
          @Entity  
          @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)   
          public class Forest {  }  
          @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)   
          @JoinColumn(name="CUST_ID")   
          @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)   
          public SortedSet getTickets() {   
              return tickets;   
          }  
          @Cache(   
              CacheConcurrencyStrategy usage();                 (1)   
              String region() default "";                       (2)   
              String include() default "all";                   (3)   
          )  
          (1) usage: 提供緩存對(duì)象的事務(wù)隔離機(jī)制,可選值有以下幾種
          (NONE, READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL)
          (2) region (optional): 指定緩存的區(qū)域,默認(rèn)是類的全限定名。利用緩存區(qū)域,可以更精確的指定每個(gè)區(qū)域的緩存超前策略。如果指定了緩存區(qū)域前綴(在hibernate.cfg.xml中設(shè)置cache.region_prefix屬性為一個(gè)字符串),則所有的緩存區(qū)域名前將加上這個(gè)前綴。
          (3) include (optional): all to include all properties, non-lazy to only include non lazy properties (default all).
          如果不是使用annotation的話,則是在Hbm文件中添加cache usage="read-only"
          posted on 2010-03-14 17:46 王總兵 閱讀(597) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: Hibernate Annotation 中配置EhCache緩存 2011-08-03 23:09 we are people
          不能發(fā)政治相關(guān)的內(nèi)容------我要投票權(quán)!  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 绵竹市| 垫江县| 确山县| 郓城县| 嘉荫县| 原阳县| 南投县| 长子县| 高雄县| 澄城县| 青川县| 上饶县| 津市市| 永城市| 木里| 江达县| 河池市| 丰都县| 高碑店市| 祁门县| 略阳县| 泗水县| 湛江市| 鄂尔多斯市| 大英县| 通州区| 南京市| 赞皇县| 新郑市| 台江县| 霍林郭勒市| 嘉峪关市| 河间市| 云浮市| 灌南县| 西贡区| 新河县| 深圳市| 孝义市| 固安县| 德昌县|