最近我在一家公司接受了F-to-F的采访。 采访者刚刚问我以下问题:
JPA的EntityManager和Hibernate的第一级缓存有什么区别? 请用合适的例子说明。
答案 0 :(得分:2)
Hibernate本身通过Hibernate Annotations和Hibernate EntityManager库(或者flavor)实现了JPA,这些库是基于Hibernate Core库构建的。 Hibernate EntityManager是JPA的完整实现,它遵循JPA生命周期
JPA就像是由其他ORM实现的接口,这些ORM充当了这个供应商。 所以,没有区别的问题...... 要了解更多信息,您可以浏览此链接。
<强> https://blogs.oracle.com/carolmcdonald/entry/jpa_caching 强>
答案 1 :(得分:1)
实际上很难指出这两者之间的差异,因为它与询问香蕉和苹果之间的差异是一样的。以下是两者的定义。
实体经理
EntityManager API用于访问特定工作单元中的数据库。它用于创建和删除持久性实体实例,按主键标识查找实体,以及查询所有实体。此接口类似于Hibernate中的Session。
来自http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/architecture.html
第一级Hibernate缓存
它是附加到Hibernate会话的缓存工具,可加快数据检索速度。
这是一篇关于它的好文章,涵盖了一些基本方面。 http://howtodoinjava.com/2013/07/01/understanding-hibernate-first-level-cache-with-example/
所以,我会列出一些差异: