8

在使用 Java Persistence API(注解实体)时,启用 Hibernate 的二级缓存需要哪些步骤?我如何检查它是否正常工作?我正在使用 JBoss 4.2.2.GA。

从 Hibernate 文档看来,我需要启用缓存并在persistence.xml中指定缓存提供程序,例如:

<property name="hibernate.cache.use_second_level_cache"
          value="true" /> 
<property name="hibernate.cache.provider_class" 
          value="org.hibernate.cache.HashtableCacheProvider" /> 

还需要什么?我需要向我的 JPA 实体添加@Cache注释吗?

如何判断缓存是否正常工作?我在运行查询后尝试访问缓存统计信息,但Statistics.getSecondLevelCacheStatistics返回 null,可能是因为我不知道要使用什么“区域”名称。

4

2 回答 2

4

跟进:最后,添加注释后,我将它与EhCache一起使用,即

<property name="hibernate.cache.provider_class" 
          value="net.sf.ehcache.hibernate.EhCacheProvider" />
于 2008-09-10T15:32:20.440 回答
3

我相信您需要添加缓存注释来告诉hibernate如何使用二级缓存(只读,读写等)。我的应用程序就是这种情况(使用 spring/传统休眠和 ehcache,因此您的里程可能会有所不同)。一旦指定了缓存,我就开始从休眠中看到它们正在使用的消息。

于 2008-09-10T13:10:03.947 回答