使用Java Persistence API(带注释的实体)时,启用Hibernate的二级缓存需要采取哪些步骤?我如何检查它是否正常工作?我正在使用JBoss4.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,这可能是因为我不知道要使用什么“区域”名称。
我相信您需要添加缓存注释以告诉hibernate状态如何使用二级缓存(只读,读写等)。我的应用程序就是这种情况(使用spring /传统的hibernate模式和ehcache,因此您的工作量可能会有所不同)。指示了缓存后,我开始从hibernate状态看到它们正在使用的消息。