hibernate缓存(EHCache for eg)是否可以与jpa特定的代码一起工作(如果我使用EntityManager/EM工厂而不是Session/SessionFactory)?

hibernate缓存(EHCache for eg)是否可以与jpa特定的代码一起工作(如果我使用EntityManager/EM工厂而不是Session/SessionFactory)?,hibernate,caching,jpa,ehcache,Hibernate,Caching,Jpa,Ehcache,我有一个非常简单的问题。我想确保我没有任何困惑。 我在规范中看到缓存不是规范的一部分,而是根据特定的orm工具提供者提供的。 我在应用程序中使用Hibernate作为ORM工具。但为了独立于供应商,我使用JPA(javax.persistence)的所有内容(注释、类等),而不是Hibernate专门提供的任何内容。 我使用的是EntityManager和EntityManagerFactory而不是SessionFactory和Session。 我的疑问是,在博客中,我看到Hibernate提

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

是的,它会很好用的。如果查看代码,
EntityManagerImpl
将委托给一个
SessionImpl
,因此一切都将与纯hibernate一样工作。还要检查JPA2.0中的缓存