1. JPA概念
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)大渡口,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
Java persistence API的簡(jiǎn)稱,中文名是Java持久層API,
是JDK5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,
并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。
(對(duì)象持久化:是將內(nèi)存中的對(duì)象保存到可永久保存的存儲(chǔ)設(shè)備中的一種技術(shù))
2. JPA出現(xiàn)的原因
1.簡(jiǎn)化現(xiàn)有JavaEE和JavaSE應(yīng)用的對(duì)象持久化的開(kāi)發(fā)工作;
2.Sun希望整合ORM技術(shù),實(shí)現(xiàn)在持久化領(lǐng)域的統(tǒng)一應(yīng)用;
3. JPA提供的技術(shù)
1.ORM映射元數(shù)據(jù)
JPA支持XML和JDK5.0注解兩種元數(shù)據(jù)的形式,元數(shù)據(jù)描述對(duì)象和表之間的映射關(guān)系框架據(jù)此將實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)表中;(元數(shù)據(jù):是指用來(lái)描述數(shù)據(jù)的數(shù)據(jù),就是描述代碼間關(guān)系的數(shù)據(jù),如:hibernate是用hbm文件。JDK5.0出來(lái)后,java語(yǔ)言中就有了四種類型(TYPE),即類(class)、枚舉(enum)、接口(interface)和注解(@interface),它們是處在同一級(jí)別的。java就是通過(guò)注解來(lái)表示元數(shù)據(jù)的。)
2.JPA的API
用來(lái)操作實(shí)體對(duì)象,執(zhí)行crud操作,框架在底層替我們完成所有的事情,開(kāi)發(fā)者從繁瑣的JDBC 和 SQL代碼中解脫;
3.查詢語(yǔ)言
通過(guò)面向?qū)ο蠖敲嫦驍?shù)據(jù)庫(kù)的查詢語(yǔ)言查詢數(shù)據(jù),避免程序的SQL語(yǔ)句緊密耦合;
JPA全稱Java Persistence API.JPA通過(guò)JDK 5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。\x0d\x0aJPA的總體思想和現(xiàn)有Hibernate、TopLink,JDO等ORM框架大體一致??偟膩?lái)說(shuō),JPA包括以下3方面的技術(shù):\x0d\x0aORM映射元數(shù)據(jù)\x0d\x0aJPA支持XML和JDK 5.0注解兩種元數(shù)據(jù)的形式,元數(shù)據(jù)描述對(duì)象和表之間的映射關(guān)系,框架據(jù)此將實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)表中;\x0d\x0aJPA 的API\x0d\x0a用來(lái)操作實(shí)體對(duì)象,執(zhí)行CRUD操作,框架在后臺(tái)替我們完成所有的事情,開(kāi)發(fā)者從繁瑣的JDBC和SQL代碼中解脫出來(lái)。\x0d\x0a查詢語(yǔ)言\x0d\x0a這是持久化操作中很重要的一個(gè)方面,通過(guò)面向?qū)ο蠖敲嫦驍?shù)據(jù)庫(kù)的查詢語(yǔ)言查詢數(shù)據(jù),避免程序的SQL語(yǔ)句緊密耦合。
將JPA項(xiàng)目轉(zhuǎn)化為Java項(xiàng)目的步驟包括:
1. 修改項(xiàng)目配置文件:打開(kāi)項(xiàng)目目錄下的pom.xml或build.gradle配置文件,對(duì)依賴的JPA相關(guān)庫(kù)進(jìn)行注釋或刪除,替換為Java Web項(xiàng)目所需要的依賴庫(kù)。
2. 更改項(xiàng)目結(jié)構(gòu):將原本用于持久化操作的實(shí)體類或者數(shù)據(jù)訪問(wèn)接口保存為Java類,并修改業(yè)務(wù)邏輯部分。
3. 修改持久化方式:如果原先使用的是JPA作為持久化技術(shù),那么需要將其更改為Java Web項(xiàng)目所需要的數(shù)據(jù)訪問(wèn)技術(shù),例如使用JDBC、MyBatis等。
4. 修改代碼中的JPA API方法:需要將原本的JPA相關(guān)API方法移除,替換為Java Web項(xiàng)目所需要的方法,例如使用Java Servlet API等。
5. 對(duì)項(xiàng)目進(jìn)行編譯打包:使用Java Web項(xiàng)目所需要的構(gòu)建工具對(duì)整個(gè)項(xiàng)目進(jìn)行編譯打包,生成可運(yùn)行的Java Web應(yīng)用程序。
需要注意的是,JPA和Java項(xiàng)目的差異較大,如果沒(méi)有相關(guān)的開(kāi)發(fā)經(jīng)驗(yàn),可能需要花費(fèi)一些時(shí)間來(lái)理解和調(diào)整代碼。