jpa和休眠之间的相似性和差异性

2022-09-03 04:14:17

jpa和hibernate之间的相似性和区别是什么。


答案 1

JPA(Java Persistence API)是持久性提供程序实现的接口。Hibernate就是这样一种JPA的实现。


答案 2

以下是 JSR-000220 Enterprise JavaBeans 3.0 最终发行版(持久性)的介绍:

本文档是 Java API 的规范,用于管理 Java EE 和 Java SE 的持久性和对象/关系映射。这项工作的技术目标是为使用 Java 域模型的 Java 应用程序开发人员提供一个对象/关系映射工具,以管理关系数据库。

此持久性 API(以及本文档中定义的查询语言和对象/关系映射元数据)在 Enterprise JavaBeans 3.0 下需要得到支持。它还旨在与Java SE单独使用。

整个Java社区的领先专家齐聚一堂,构建了这个Java持久性标准。这项工作融合了来自Hibernate,TopLink和JDO社区以及EJB社区的贡献。

换句话说,JPA是用于持久性的标准化API。Hibernate提供了标准的实现(即在使用JPA时,它可以用作底层持久性引擎)。

在JPA之前,Hibernate是Java中对象持久性的一种事实上的标准。Hibernate被认为是JPA的主要贡献者,因此它们之间有很多相似之处(我甚至可以说所有ORM解决方案之间,因为ORM概念很常见)。但是,由于各种原因,政治或技术原因,JPA工作组无法在JPA的第一个版本中包含所有内容,因此JPA实际上是Hibernate的一个子集(这是一个简化的观点,但现实非常接近)。因此,Hibernate和其他JPA实现为您可能使用的JPA标准提供了自己的专有扩展(这意味着非标准,即不能从一个提供程序移植到另一个提供程序)。


推荐