科帮网

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > Hibernate整合spring配置二级缓存
总共48087条微博

动态微博

查看: 1954|回复: 0

Hibernate整合spring配置二级缓存

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-06-05 20:35:41 |只看该作者 |正序浏览
    applicationContext.xml:
    ) I  G2 v; @$ j! K: m4 }1 L
    1. <prop key="hibernate.cache.use_second_level_cache">true</prop>   <!--设置缓存机制为二级缓存 -->
      # |" o, ~$ N; `- n* L
    2. <prop key="hibernate.cache.use_query_cache">true</prop>          <!--启动查询缓存 --># N9 v9 [' l2 j- L$ |0 [
    3. <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>  <!--设置二级缓存的Provider类 -->! H; ?, ~8 P: c  h$ ~5 T. ~
    4. <prop key="hibernate.cache.provider_configuration_file_resource_path">WEB-INF/classes/ehcache.xml</prop>   <!--设置缓存的配置文件路径 -->
    复制代码

    # c! O$ S# a* ]# {; F& n
    将ehcache.xml文件放到src下面,并配置ehcache.xml文件如下:
    3 ^1 t9 I, `" M* R; l
    1. <ehcache>
      ! C5 ~% C8 n* H; [, L. t; V$ |
    2.     <diskStore path="D:\cache" />
      - |" P0 d6 |3 y) A8 u4 q8 A% K

    3. ( }6 G3 G4 L3 h- A2 L  i/ {
    4.     <defaultCache maxElementsInMemory="10000" eternal="false"6 z1 N/ q( H* |3 ^
    5.         timeToIdleSeconds="3600" timeToLiveSeconds="3600"; |# R) I! J+ e2 q& v
    6.         overflowToDisk="true" diskPersistent="false"+ y- H% }4 c9 l% w6 d
    7.         diskExpiryThreadIntervalSeconds="120"7 |8 y3 m. j7 S; J4 |8 u; p" F
    8.         memoryStoreEvictionPolicy="LRU" />6 Y4 l. p" \- h8 p4 q4 M' d
    9.     <cache name="net.52itstyle.entity.DataAttr"  
      . n7 X9 M  z0 F7 [
    10.         maxElementsInMemory="800" eternal="false" overflowToDisk="false"  , ~. q! ~! M! j
    11.         timeToIdleSeconds="3600" timeToLiveSeconds="3600"   />
      1 A1 b5 k) D5 [9 V& ?: m
    12. </ehcache>
    复制代码
    在设置了缓存机制的类的xml文件中添加一段代码<cache usage="read-write" region="net.52itstyle.entity.SmProduct/>"代码如下:
    , z8 A8 s* N7 w" o
    1. <hibernate-mapping>
      3 W7 ^7 t. o8 O' H; P, x$ S
    2.     <!--SM_PRODUCT表的hibernate映射描述文件 -->
      1 g( ?% M, c% Y* Q4 p
    3.     <class name="net.nk.entity.SmProduct" table="SM_PRODUCT" >( z1 h, {! N' X, \
    4.         <cache usage="read-write" region="net.nk.entity.SmProduct"/>
      - ~+ d# v. J6 [/ ]+ x9 ]) e
    5.          <!-- ID -->
      5 t6 R' f* P. D$ A
    6.         <id name="id" type="string">
      " J& S% p; L! M
    7.             <column name="ID" />7 @& d. G6 X- r4 h  v/ ^, b
    8.             <generator class="assigned" />0 K. N. w$ _2 v# V5 u
    9.         </id>
    复制代码
    / e8 k* ?5 z0 K/ T7 {- J6 X) r5 g
    最后可以
    通过放开hibernate的show_sql来查看是否缓存机制生效了
    0 K, t1 ^% D, O* O: \4 f8 m
    # J* g4 M' L% {% n* t4 C# T' E5 P
    1 v  Y  l, e* C

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表