一尘不染

休眠缓存(例如EHCache)是否可以使用jpa特定代码(如果我使用EntityManager / EM Factory而不是Session / SessionFactory)?

hibernate

我有非常简单的查询。我想确保我没有任何困惑。我在规范中看到,缓存不是规范的一部分,而是根据特定的orm工具提供商提供的。我在应用程序中使用Hibernate作为ORM工具。但是要独立于供应商,我使用的是JPA(javax.persistence)的所有内容(注释,类等),而不是Hibernate专门提供的任何内容。我使用EntityManagerEntityManagerFactory而不是SessionFactorySession。我的查询是,在博客中,我看到Session间接地处理了Hibernate提供的缓存提供程序和缓存机制。那么有可能EntityManager还将能够用于缓存提供程序和缓存配置,因此指定为可缓存的实体和查询将能够使用缓存功能?(我认为应该这样)。还有JPA提供的任何api(例如Hibernate提供的Statistics
api)来测量和查看缓存统计信息吗?请在这方面帮助我。


阅读 232

收藏
2020-06-20

共1个答案

一尘不染

是的,它将正常工作。如果您看一下代码,则将其EntityManagerImpl委托给SessionImpl,因此所有操作都将与纯hibernate一起工作。另请查看有关JPA
2.0中的缓存的本文

2020-06-20