JPA API和hibernate本机API之间的差异

时间:2018-03-25 11:36:19

标签: java hibernate jpa

我仍然是hibernate的初学者。我已经开始阅读用户指南,在其中找到了这个架构。enter image description here

我知道hibernate是一个jpa实现,而jpa jar只包含interfaces.But我想了解为什么JPA API与Hibernate native api处于同一级别。 如果JPA只包含接口,那么我们如何调用例如entityManger.persist(entity)和normaly实体管理器是一个接口。 实体管理器实现在哪里???

1 个答案:

答案 0 :(得分:3)

  

我知道hibernate是一个jpa实现,而jpa jar只包含interfaces.But我想了解为什么JPA API与Hibernate native api处于同一级别。

因为您可以使用JPA API(EntityManager,EntityManagerFactory等)或Hibernate本机API(Session,SessionFactory等)与ORM实体和数据库进行交互。

  

如果JPA只包含Interfaces,我们如何调用例如entityManger.persist(entity),而normaly实体管理器是一个接口。实体管理器实现在哪里???

像EntityManager,EntityManagerFactory等的JPA API由Hibernate实现(其中一个JPA实现,其他类似EclipseLink等确实存在)。您将在其中一个hibernate jar文件中找到该实现。

快速参考Hibernate implementation of EntityManagerFactory here on grepcode