- Spring Data JPA從入門到精通
- 張振華
- 470字
- 2019-12-06 16:29:23
1.2 JPA的介紹以及開源實(shí)現(xiàn)
JPA是Java Persistence API的簡(jiǎn)稱,中文名為Java持久層API,是JDK 5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。
Sun引入新的JPA ORM規(guī)范出于兩個(gè)原因:其一,簡(jiǎn)化現(xiàn)有Java EE和Java SE應(yīng)用開發(fā)工作;其二,Sun希望整合ORM技術(shù),實(shí)現(xiàn)天下歸一。
JPA包括以下3方面的內(nèi)容:
(1)一套API標(biāo)準(zhǔn)。在javax.persistence的包下面,用來操作實(shí)體對(duì)象,執(zhí)行CRUD操作,框架在后臺(tái)替代我們完成所有的事情,開發(fā)者從煩瑣的JDBC和SQL代碼中解脫出來。
(2)面向?qū)ο蟮牟樵冋Z(yǔ)言:Java Persistence Query Language(JPQL)。這是持久化操作中很重要的一個(gè)方面,通過面向?qū)ο蠖敲嫦驍?shù)據(jù)庫(kù)的查詢語(yǔ)言查詢數(shù)據(jù),避免程序的SQL語(yǔ)句緊密耦合。
(3)ORM(object/relational metadata)元數(shù)據(jù)的映射。JPA支持XML和JDK5.0注解兩種元數(shù)據(jù)的形式,元數(shù)據(jù)描述對(duì)象和表之間的映射關(guān)系,框架據(jù)此將實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)表中。
JPA的宗旨是為POJO提供持久化標(biāo)準(zhǔn)規(guī)范,由此可見,經(jīng)過這幾年的實(shí)踐探索,能夠脫離容器獨(dú)立運(yùn)行,方便開發(fā)和測(cè)試的理念已經(jīng)深入人心了。Hibernate 3.2+、TopLink 10.1.3以及OpenJPA都提供了JPA的實(shí)現(xiàn),以及最后的Spring的整合Spring Data JPA。目前互聯(lián)網(wǎng)公司和傳統(tǒng)公司大量使用了JPA的開發(fā)標(biāo)準(zhǔn)規(guī)范,如圖1-2所示。

圖1-2
- DevOps:軟件架構(gòu)師行動(dòng)指南
- C++ Primer習(xí)題集(第5版)
- RTC程序設(shè)計(jì):實(shí)時(shí)音視頻權(quán)威指南
- 21天學(xué)通C++(第6版)
- 表哥的Access入門:以Excel視角快速學(xué)習(xí)數(shù)據(jù)庫(kù)開發(fā)(第2版)
- PySpark Cookbook
- C#應(yīng)用程序設(shè)計(jì)教程
- 利用Python進(jìn)行數(shù)據(jù)分析
- Terraform:多云、混合云環(huán)境下實(shí)現(xiàn)基礎(chǔ)設(shè)施即代碼(第2版)
- Microsoft Dynamics AX 2012 R3 Financial Management
- Java高并發(fā)核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- Processing創(chuàng)意編程指南
- 實(shí)戰(zhàn)Java高并發(fā)程序設(shè)計(jì)(第2版)
- INSTANT PLC Programming with RSLogix 5000
- ASP.NET jQuery Cookbook(Second Edition)