首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Ehcache与Spring和Hibernate应用集成在一起

将Ehcache与Spring和Hibernate应用集成在一起
EN

Stack Overflow用户
提问于 2017-01-26 17:04:46
回答 1查看 1.2K关注 0票数 0

我正在开发一个使用Java (JDK 1.8)、Spring (Restful服务层) 4.x、Hibernate 5.x、MYSQL Db和Tomcat Server 8开发的java应用程序。我需要为hibernate配置二级缓存。我计划将EhCache与应用程序集成。

  1. 这能用Java (没有EhCache.xml文件)实现吗?
  2. 另一个问题是,spring缓存和hibernate二级缓存有什么区别?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-27 10:36:16

关于编程地将Ehcache配置为Hibernate二级缓存,在使用Ehcache 2.x和net.sf.ehcache.hibernate.EhCacheRegionFactory时,这是不可能的。您必须扩展工厂类,并将其配置为使用CacheManager

对于使用JCache的Hibernate 5.2,使用Ehcache 3.x作为提供程序,有一个更简单的路径:确保首先配置JCache CacheManager,然后让Hibernate使用配置的CacheManager。作为一种选择,您可以扩展org.hibernate.cache.jcache.JCacheRegionFactory并调整CacheManagerCache的创建。以下样本可以帮助你解决这个问题。

关于第二点:

弹簧缓存是一个通用的抽象,可以在应用程序的所有层中使用,您可以在其中决定缓存的内容、调用等。

Hibernate二级缓存是一个位于对象模型和数据库访问之间的专用缓存。您告诉框架要缓存哪些语义,但是实际的工作对您来说是隐藏的。

当然,您可以将两者结合在一个应用程序中,在这个应用程序中,您将缓存更高级别的结果,例如使用Spring的服务调用结果或网页,以及使用Hibernate 2LC缓存实体/查询结果。尽管我建议使用不同的Cache来很好地分离它们的内容和生命周期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41878971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档