JPA介绍 JPA教程 JPA架构 任何企业应用程序都通过存储和检索大量数据来执行数据库操作。尽管有所有可用的存储管理技术,但应用程序开发人员通常很难高效地执行数据库操作 通常,Java开发人员使用大量代码,或使用专有框架与数据库进行交互,而使用JPA时,与数据库交互的负担显着减少。它构成了对象模型(Java程序)和关系模型(数据库程序)之间的桥梁。 关系模型和对象模型之间的不匹配 关系对象用表格格式表示,而对象模型用对象格式的互连图表示。在从关系数据库存储和检索对象模型时,由于以下原因会发生一些不匹配: 粒度 :对象模型比关系模型具有更多的粒度。 子类型 :子类型(意味着继承)不被所有类型的关系数据库支持。 身份 :与对象模型一样,关系模型在写入相等时不会暴露身份。 关联 :在查看对象域模型时,关系模型不能确定多个关系。 数据导航 :对象网络中对象之间的数据导航在两种模型中都不相同。 什么是JPA? Java Persistence API是一组类和方法,用于将大量数据持久存储到由Oracle Corporation提供的数据库中。 何处使用JPA? 为了减轻编写关系对象管理代码的负担,程序员遵循'JPA Provider'框架,该框架允许与数据库实例轻松交互。这里所需的框架由JPA接管。 JPA历史 早期版本的EJB,使用javax.ejb.EntityBean接口定义持久层与业务逻辑层相结合。 在引入EJB 3.0时,持久层被分离并指定为JPA 1.0(Java持久性API)。该API的规范随2006年5月11日发布的JAVA EE5规范一起发布,使用JSR 220。 作为Java Community Process JSR 317的一部分,JPA 2.0于2009年12月10日发布,其规格为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等。 JPA教程 JPA架构