我正在尝试在 JBoss 7.1 上使用 JPA 二级缓存。并试图拥有:
- 使用
@Cacheable
注解进行实体缓存。 - 仅将 orm.xml 用于命名查询。
当通过 persistence.xml 启用二级缓存和选择性缓存时,似乎@Cacheable
注释被忽略并且实体不会被缓存在 L2 缓存中。
我知道如果我在 orm.xml 中添加带有 cacheable=”true” 的实体元素,L2 缓存可以工作,但是可以将@Cacheable
注释与 orm.xml 一起使用吗?我想使用 JBoss 7.1、JPA(由 Hibernate 支持)、Infinispan 作为二级缓存提供程序。
[持久性.xml]
<mapping-file>META-INF/orm.xml</mapping-file>
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<property name="hibernate.cache.use_second_level_cache" value="true" />
<property name="hibernate.cache.use_query_cache" value="true" />
<property name="hibernate.cache.use_minimal_puts" value="true" />