`
desert3
  • 浏览: 2160429 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

(转)JPA(Java Persistence API)简介

    博客分类:
  • Java
 
阅读更多
转自JPA基础(一):全面阐释和精彩总结JPA

JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有 Hibernate,TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用,伸缩性强等优点。从目前的开发社区的反应上看,JPA受到了 极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队。着眼未来几年的技术走向,JPA作为ORM领域标准化整合者的目标应该不难实现。

JPA的总体思想和现有Hibernate,TopLink,JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:
• ORM映射元数据
JPA支持XML和JDK5.0注释(也可译作注解)两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。
• Java持久化API
用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。
• 查询语言(JPQL)
这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

提示:JPA不是一种新的ORM框架,他的出现只是用于规范现有的ORM技术,他不能取代现有的 Hibernate,TopLink等ORM框架。相反,在采用JPA开发时,我们仍将使用到这些ORM框架,只是此时开发出来的应用不再依赖于某个持久化提供商。应用可以在不修改代码的情况下在任何JPA环境下运行,真正做到低耦合,可扩展的程序设计。

简单说,JPA干的东西就是Hibernate干的东西,他们的作用是一样的。但要注意的是:JPA只是一套规范,不是 一套产品,Hibernate已经是一套产品了。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在 Hibernate,TopLink,JDO等ORM框架各自为营的局面。 之前学的Hibernate,实际上我们面对的是Hibernate的API进行开发,那么面对Hibernate的API开发有哪些不好的地方呢?不好 的地方是我们跟Hibernate这个产品就会紧密的耦合在一块,如果离开了Hibernate我们是无法在别的ORM框架中使用我们的应用的。那么 JPA的出现就是为了结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。简单的说就是:你采用JPA开发应用,那么你的应 用可以运用在实现了JPA规范的持久化产品中(好比说Hibernate,TopLink,JDO)JPA这门技术是未来发展的必然趋势,以后我们要采用 ORM技术呢,我们不会在面对Hibernate编程,不会在面对TopLink编程,而是面对JPA规范编程。 就是说,过了几年之后,你们的应用就会很少面对Hibernate API进行编程,这是为什么呢? 这就好比以前我们访问数据库一样,假设以前我们没有JDBC这门技术的话,我们跟各个数据库链接只能使用各个数据库厂商给我们提供的API,去访问他们的 数据库,那么自从有了JDBC之后,我们就不再需要面对数据库厂商给我们提供的API进行跟数据库链接了,而是直接使用JDBC这套规范,我们就可以跟各 个数据库进行对接。目前,JPA跟Hibernate,TopLink的关系也是一样的,JPA就和JDBC一样,提供一种通用的,访问各个ORM实现产 品的桥梁工具。通过JPA技术,我们只需要面对它的规范编程,编出来的应用就可以应用在各个持久化产品中(包括Hibernate,TopLink),就 是说你底层用的产品对我来说,已经不再重要了。

JPA是一套规范,不是一套产品,那么像Hibernate,TopLink,JDO他们是一套产品,如果说这些产品实现了这个JPA规范,那么我们就可以叫他们为JPA的实现产品。JPA有点像JDBC,为各种不同的ORM技术提供一个统一的接口,方便把应用移植到不同的ORM技术上。低耦合一直是我们在软件设计上追求的目标,使用JPA,就可以把我们的应用完全从Hibernate中解脱出来了。
分享到:
评论

相关推荐

    JPA (Java Persistence API)

    Java Persistence API(JPA)是Java平台上的一个标准,用于管理和持久化对象。它为Java开发者提供了一种规范化的机制来映射Java对象到关系数据库,使得在数据库操作中可以使用面向对象的方式来处理数据。JPA通过ORM...

    Pro JPA2 Mastering the Java Persistence API

    Java持久化API(Java Persistence API,简称JPA)是Java平台上的一个标准,用于管理应用程序中的对象和数据库之间的关系,实现了对象关系映射(ORM)。JPA2.0是JPA的第二个主要版本,相较于1.0,它引入了许多新特性...

    JPA(Java Persistence API) JPA中文教程

    **Java Persistence API (JPA)** 是Java平台上的一个核心组件,它定义了应用程序与数据库之间的对象关系映射(ORM)规范。ORM允许开发者使用面向对象的编程语言来操作数据库,而不是直接编写SQL语句,从而简化了数据...

    Pro JPA 2 Mastering the Java Persistence API free down

    要是你对 Hibernate 或 TopLink 的 Criteria API 不熟悉的话,可以将它想像成一个以 Java 为中心的面向对象,线程安全并可以与 JPQL 划上等号的一组 API .这组 API 适合于编写复杂的动态查询语句,还可避免解析 JPQL...

    Pro JPA 2 Mastering the Java Persistence API

    ### Pro JPA 2:精通Java Persistence API #### 核心知识点概览 - **Java Persistence API (JPA) 2.0**:一个用于Java应用程序的对象-关系映射(ORM)工具的标准接口。 - **新特性介绍**:包括额外的对象-关系映射...

    Java Persistence API 2.0-final-spec

    Java持久化API(Java Persistence API,简称JPA)是Java平台上的一个标准,用于管理和持久化应用程序中的对象。它是Java Enterprise Edition(Java EE)的一部分,同时也适用于Java Standard Edition(Java SE)环境...

    Pro JPA 2 Mastering the Java Persistence API 2009.pdf

    ### Pro JPA 2: Mastering the Java Persistence API #### 关键知识点概览: 1. **JPA(Java Persistence API)概述与发展历程** 2. **JPA 2.0 新特性介绍** - 对象关系映射增强 - 对象建模灵活性提升 - 类型...

    [课堂课件讲解]Java微服务实践-Spring Boot Java Persistence API.pptx

    Java Persistence API(JPA)是一种Java持久化API,用于实现Java应用程序中的数据持久化。JPA提供了一个标准的、可移植的、基于对象关系映射(ORM)的持久化机制,允许开发者使用Java对象来操作数据库。 JPA的主要...

    Java Persistence API

    ### Java Persistence API (JPA) 知识点详解 #### 一、引言与背景 在深入了解Java Persistence API (简称 JPA)之前,我们先简要回顾一下数据持久化的概念及其在Java领域的演变历程。 ##### **1.1 数据持久化** -...

    JPA(Java Persistence API) 是JavaEE5.0 平台标准的ORM规范

    ### JPA(Java Persistence API) 是JavaEE5.0 平台标准的ORM规范 #### 概述 JPA(Java Persistence API)是Java EE 5.0平台中定义的标准对象关系映射(ORM)规范,它允许开发人员将应用程序中的实体对象与数据库中...

    Java Persistence API 2.0 FINAL文档

    ### Java Persistence API 2.0 (JPA 2.0) Final Release文档解析 #### 标题:Java Persistence API 2.0 FINAL文档 #### 描述解析:Java Persistence API(JPA)2.0规范概述 Java Persistence API (JPA) 2.0是一个...

    APress Pro EJB 3 Java Persistence API

    《APress Pro EJB 3 Java Persistence API》一书由Mike Keith和Merrick Schincariol共同编写,出版于2006年,是关于Java Persistence API(JPA)与Enterprise JavaBeans(EJB)3的深入研究。本书旨在为读者提供关于...

    Pro EJB 3 Java Persistence API.pdf

    根据提供的文件信息,我们可以推断出这本书主要关注的是EJB 3中的Java Persistence API(JPA)技术。接下来,我们将详细解析与该书标题、描述、标签及部分内容相关的知识点。 ### 一、EJB 3简介 EJB (Enterprise ...

    Java Persistence API 2.0 FINAL 官方文档.pdf

    This document is the specification of the Java API for the management of persistence and object/relational mapping with Java EE and Java SE. The technical objective of this work is to provide an ...

Global site tag (gtag.js) - Google Analytics