介绍

优质
小牛编辑
135浏览
2023-12-01

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

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

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

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

  • Granularity :对象模型比关系模型更具粒度。

  • Subtypes :所有类型的关系数据库都不支持子类型(意味着继承)。

  • Identity :与对象模型一样,关系模型在写同等性时不会暴露身份。

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

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

什么是JPA?

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

哪里可以使用JPA?

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

JPA

JPA历史

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

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

  • JPA 2.0于2009年12月10日作为Java Community Process 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, etc.