栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Hibernate 3.5.2配置JPA 2.0以将EHCache用作2级缓存和查询缓存?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Hibernate 3.5.2配置JPA 2.0以将EHCache用作2级缓存和查询缓存?

我找到了一些说明,说明如何配置纯hibernate模式以使用EHCache。但是我找不到任何有关如何配置JPA2.0
EntityManager以使用缓存的说明。Hibernate 3.5.2是我的JPA2.0提供程序。

使用JPA配置L2缓存提供程序的方式与原始Hibernate类似。

默认情况下,Hibernate 3.5随EhCache
1.5一起提供(请参阅将Ehcache配置为第二级缓存),如果您想使用Hibernate提供的
官方 缓存提供程序(

hibernate-ehcache
如果使用的是Maven),请声明:

<!-- This is the provider for Ehcache provided by Hibernate, using the "old" SPI --><property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>

如果要使用EhCache 2.x,则需要使用EhCache提供的提供程序,该提供程序支持带有的 Hibernate 3.3 / 3.5 SPI

CacheRegionFactory
。采用:

<!-- The region factory property is the "new" property (for Hibernate 3.3 and above) --><property name="hibernate.cache.region.factory_class" value="net.sf.ehcache.hibernate.EhCacheRegionFactory">

例如创建,或

<property name="hibernate.cache.region.factory_class" value="net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory"/>

强制Hibernate使用单身的Ehcache CacheManager。

然后激活L2缓存和查询缓存:

<property name="hibernate.cache.use_second_level_cache" value="true"/><property name="hibernate.cache.use_query_cache" value="true"/>

这用于Hibernate L2缓存设置。

@Cacheable(true)是否足以用于实体?还是应该使用@ org.hibernate.annotations.Cache配置实体?

从理论上讲,

@Cacheable
应当替代Hibernate专有注释,并且应与
shared-cache-mode
元素结合使用:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">  <persistence-unit name="FooPu" transaction-type="RESOURCE_LOCAL">    <provider>org.hibernate.ejb.HibernatePersistence</provider>    ...    <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>    <properties>      ...    </properties>  </persistence-unit></persistence>

但是,正如前面的问题中提到的那样,初始实验并未成功(它可能与HHH-5303有关,我不能说,我没有做太多研究)。因此,我建议坚持使用专有注释。

参考文献

  • Hibernate EntityManager参考指南
    • 2.2.1包装
  • JPA 2.0规范
    • 第3.7.1节“共享缓存模式元素”
    • 第11.1.7节“可缓存的注释”

资源资源

  • Ehcache 2.0支持新的Hibernate 3.3缓存提供程序
  • 将Ehcache配置为二级缓存
  • hibernate二级缓存


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390871.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号