JPA - 简介



任何企业应用程序都通过存储和检索大量数据来执行数据库操作。尽管有各种可用的存储管理技术,但应用程序开发人员通常难以有效地执行数据库操作。

通常,Java 开发人员使用大量代码或使用专有框架与数据库交互,而使用 JPA,与数据库交互的负担大大减少。它在对象模型(Java 程序)和关系模型(数据库程序)之间架起了一座桥梁。

关系模型和对象模型之间的不匹配

关系对象以表格格式表示,而对象模型以对象格式的互连图表示。在将对象模型从关系数据库中存储和检索时,由于以下原因会发生一些不匹配

  • 粒度:对象模型比关系模型具有更高的粒度。

  • 子类型:并非所有类型的关系数据库都支持子类型(表示继承)。

  • 标识:与对象模型一样,关系模型在编写相等性时不会公开标识。

  • 关联:关系模型在查看对象域模型时无法确定多个关系。

  • 数据导航:对象网络中对象之间的数据导航在两种模型中是不同的。

什么是 JPA?

Java 持久性 API 是一组类和方法,用于将大量数据持久存储到 Oracle 公司提供的数据库中。

在哪里使用 JPA?

为了减少编写关系对象管理代码的负担,程序员遵循“JPA 提供程序”框架,该框架允许轻松与数据库实例交互。在这里,所需的框架由 JPA 接管。

JPA

JPA 历史

早期版本的 EJB 将持久层与业务逻辑层结合起来,使用 javax.ejb.EntityBean 接口。

  • 在引入 EJB 3.0 时,持久层被分离并指定为 JPA 1.0(Java 持久性 API)。此 API 的规范于 2006 年 5 月 11 日与 JAVA EE5 的规范一起发布,使用 JSR 220。

  • JPA 2.0 于 2009 年 12 月 10 日作为 Java 社区流程 JSR 317 的一部分与 JAVA EE6 的规范一起发布。

  • JPA 2.1 于 2013 年 4 月 22 日使用 JSR 338 与 JAVA EE7 的规范一起发布。

JPA 提供程序

JPA 是一个开源 API,因此 Oracle、Redhat、Eclipse 等各种企业供应商通过在其产品中添加 JPA 持久性特性来提供新产品。其中一些产品包括

Hibernate、Eclipselink、Toplink、Spring Data JPA 等。

广告

© . All rights reserved.