java - 在 JBoss 4.2 上使用 JPA 启用 Hibernate 二级缓存

标签 java hibernate jpa caching

在使用 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,可能是因为我不知道要使用什么“区域”名称。

最佳答案

后续:最后,在添加注释后,我让它与 EhCache 一起工作,即

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

关于java - 在 JBoss 4.2 上使用 JPA 启用 Hibernate 二级缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53562/

相关文章:

hibernate - 运行时异常 :Use of @OneToMany or @ManyToMany targeting an unmapped class

java - 方法引用中的类型推断

java - 人为地减慢时间

Java Date toInstant 方法返回不同的日期?

java - 没有 "java.lang.Class<org.springframework.data.repository.Repository<?, ?>>"类型的合格 bean

java - 事务暂停在 Spring 中如何工作?

Hibernate/JPA 调用 equals() 触发延迟加载异常

Java JPA/Hibernate级联删除

JPA将STRING列值连接为单个值,就像聚合函数一样

java - 如何获取变量的类