在 JBoss 4.2 上使用 JPA 启用 Hibernate 二级缓存
题
使用Java Persistence API(带注释的实体)时,启用Hibernate的二级缓存需要哪些步骤?我如何检查它是否正常工作?我正在使用 JBoss 4.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 返回 null,也许是因为我不知道要使用什么“区域”名称。
解决方案
我相信你需要添加缓存注释来告诉hibernate如何使用二级缓存(只读,读写等)。我的应用程序就是这种情况(使用 spring/传统的 hibernate 和 ehcache,所以你的里程可能会有所不同)。一旦指示了缓存,我就开始看到它们正在从休眠状态使用的消息。
其他提示
跟进:最后,添加注释后,我让它与 EhCache 一起使用,即
<property name="hibernate.cache.provider_class"
value="net.sf.ehcache.hibernate.EhCacheProvider" />
不隶属于 StackOverflow