Java JPA2缓存或休眠缓存

Java JPA2缓存或休眠缓存,java,hibernate,jakarta-ee,caching,jpa-2.0,Java,Hibernate,Jakarta Ee,Caching,Jpa 2.0,我想创建一个新的项目——基于hibernate和JPA2的集成层,我需要使用持久缓存 jpa2缓存和hibernate缓存有什么区别 每个缓存的优缺点是什么 实际上JPA2是规范,Hibernate是该规范的实现 除了会话缓存(单个事务/会话交互中的实体)之外,它们都不提供缓存实现 如果您计划添加替换hibernate的可能性,那么使用纯JPA2注释和配置 Hibernate的注释@Cache提供了对实体如何存储在缓存中的更细粒度的控制,JPA的@Cacheable只提供了包含在缓存中或不包含在

我想创建一个新的项目——基于hibernate和JPA2的集成层,我需要使用持久缓存

jpa2缓存和hibernate缓存有什么区别


每个缓存的优缺点是什么

实际上JPA2是规范,Hibernate是该规范的实现

除了会话缓存(单个事务/会话交互中的实体)之外,它们都不提供缓存实现

如果您计划添加替换hibernate的可能性,那么使用纯JPA2注释和配置


Hibernate的注释@Cache提供了对实体如何存储在缓存中的更细粒度的控制,JPA的@Cacheable只提供了包含在缓存中或不包含在缓存中的可能性(缓存中存储的所有控制在通用JPA配置和缓存实现中定义)

JPA是一种规范。Hibernate是该规范的一个实现。我不确定你所说的“持久性缓存”到底是什么意思,但由于Hibernate和JPA基本上是同一件事,你所说的jpa2缓存和Hibernate缓存也是同一件事。我知道它们不是同一个架构,所以有很大的不同。我搜索这个什么是“他们”?你能提供一个具体的例子说明你所说的“JPA2缓存”和一个具体的例子说明你所说的“Hibernate缓存”吗?“最大的区别”是什么?请确保不要混淆“Hibernate Core”(2009年之前使用的是
Session
和所有内容)和“Hibernate ORM/JPA”(2009年之后使用的是
EntityManager
和所有内容)。出于某些不清楚的原因,初学者仍然看重过时且维护不善的业余教程网站,这些网站充斥着互联网上的广告,而不是书架上真正的JavaEE书籍。