我已通过各种资源了解它们。重要的是:-
- 关于他们每个人的维基百科文章
- What's the difference between JPA and Hibernate?
这是我对它们的区别的理解。我不确定我对 JPA 与 ORM 的看法是否正确
ORM: 对象关系映射是将数据从面向对象语言转换为关系数据库的概念/过程,反之亦然 例如在 java 中,它是在反射和 jdbc 的帮助下完成的。
Hibernate:它是上述概念的实现。
JPA:它比 ORM 高出一步。它的高级 API 和规范,以便不同的 ORM 工具可以实现,因此它提供 开发人员可以灵活地将实现从一个 ORM 更改为另一个(例如,如果应用程序使用 JPA api 和 implementationaion 处于 hibernate 状态。如果需要,将来它可以切换到 IBatis。但另一方面,如果应用程序直接锁定实现 没有 JPA 平台的 hibernate ,切换将是一项艰巨的任务)
可以有或没有 JPA 规范的 ORM 实现。例如根据这个 link仅在 hibernate 部分下 Hibernate 3.2 及更高版本提供了 Java Persistence API 的实现
最佳答案
ORM 是获取面向对象数据并映射到关系数据存储(例如 RDBMS 中的表)的方法
JPA 是 Java EE 中 ORM 的 Java EE 标准规范。
JPA 的引用实现是 EclipseLink。如果您没有显式配置提供程序,则在幕后使用 EclipseLink。
Hibernate 是 JPA 规范的另一种实现,您可以使用标准的 JPA API 并将您的应用程序配置为使用 Hibernate 作为规范的提供者。
Hibernate 还提供了超出 JPA 规范中指定的 ORM 功能的超集。这意味着,虽然它提供了 JPA API 的实现,但它还提供了超出 JPA 指定的更多功能。
关于java - JPA vs ORM vs Hibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462185/