You need to set the hibernate property
hibernate.cache.use_second_level_cache to true, and if you want to use query
caches you need to set hibernate.cache.use_query_cache true as well. Note
that for the query cache you will need to enable caching on a query by query
basis.

Mike.



On 1/29/07, Ding, Qin <[EMAIL PROTECTED]> wrote:

 I try to use ehcache in my appfuse 1.9.4 application.

In applicatonContext-hibernate.xml, <property name="hibernateProperties">

I added following:

<property name="hibernateProperties">

  <props>

    <prop key="hibernate.dialect">@HIBERNATE-DIALECT@</prop>

    <prop key="hibernate.query.substitutions">true 'Y', false 'N'</prop>



    <prop key="cache.provider_class">org.hibernate.cache.EhCacheProvider
</prop>

<prop key="hibernate.generate_statistics">true</prop>

  </props>

</property>



In Status pojo, I added this xdoclet attribute:

[EMAIL PROTECTED] table="status"

[EMAIL PROTECTED] usage="read-write"



In ehcache.xml, besides the defaultCache, I added

<cache

      name="com.mycompany.model.Status"

      maxElementsInMemory="10"

      eternal="false"

      timeToIdleSeconds="0"

      timeToLiveSeconds="0"

      overflowToDisk="true" />



Then I compile and deploy to tomcat, the application failed to start with
very long error stack trace msg.  It seems caused by:



Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level
cache is not enabled for usage [hibernate.cache.use_second_level_cache |
hibernate.cache.use_query_cache]

      at org.hibernate.cache.NoCacheProvider.buildCache(
NoCacheProvider.java:21)

      at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java
:61)

      ... 142 more



My question:  besides what I have done, what else should I add in order to
enable second-level cache?

Reply via email to