代码之家  ›  专栏  ›  技术社区  ›  Peter Hilton

在jboss 4.2上使用jpa启用Hibernate二级缓存

  •  8
  • Peter Hilton  · 技术社区  · 16 年前

    当使用Java持久性API(注释实体)时,启用Hibernate的第二级缓存所需的步骤是什么?如何检查它是否工作?我使用的是JBoss4.2.2.ga。

    从Hibernate文档中,我似乎需要启用缓存并在 坚持XML ,像:

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

    还需要什么?我需要补充吗 @缓存 我的JPA实体的注释?

    如何判断缓存是否工作?我在运行查询后尝试访问缓存统计信息,但是 statistics.getsecondlevelcachestatistics(统计信息.getsecondlevelcachestatistics) 返回空值,可能是因为我不知道要使用什么“region”名称。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Tim Howland    16 年前

    我相信您需要添加缓存注释来告诉Hibernate如何使用二级缓存(只读、读写等)。我的应用程序就是这样(使用Spring/TraditionalHibernate和ehcache,所以您的里程可能会有所不同)。一旦指示了缓存,我就开始看到从Hibernate使用它们的消息。

        2
  •  4
  •   Peter Hilton    16 年前

    后续工作:最后,在添加注释之后,我让它与ehcache一起工作,也就是说。

    <property name="hibernate.cache.provider_class" 
              value="net.sf.ehcache.hibernate.EhCacheProvider" />