论坛首页 Java企业应用论坛

Hibernate中二级缓存的建立

浏览 1567 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-12  
1、在hbm.xml中增加<cache>声明。

例如:

<class
name="Account"
table="account"
lazy="false"
>
<meta attribute="sync-DAO">true</meta>
<cache usage="read-write"/>
<id
  name="Id"
  type="integer"
  column="i_account_id"
>
  <generator class="assigned"/>
</id>

  <property
......
</class>

2、就是在ehcache.xml中增加对该缓存的声明,让该对象的二级缓存真正开始起作用。

<cache name="cn.techtiger.model.Account"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"
/>      

注意的问题:

1、如果在hbm.xml中配置了,但是在ehcache.xml中没有设置,那么系统启动的时候,会报告:

[WARN]Could not find configuration [cn.techtiger.model.Account]; using defaults.

2、ehcache起作用,还需要在hibernate的配置文件中声明cache provider:

  <property name="hibernateProperties">
   <props>
     <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
   </props>
  </property>
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics