5.springboot:JPA/Hibernate/Spring Data概念

JPA全程:Java Persistence API.JPA通過(guò)JDK5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。

JPA(Java Persisitence API)是Sun官方提出的Java持久化規(guī)范。它為Java開(kāi)發(fā)人員提供了一種對(duì)象/關(guān)系映射工具來(lái)管理Java應(yīng)用中的關(guān)系數(shù)據(jù)。

Hibernate:是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,它將POJO與數(shù)據(jù)庫(kù)表建立映射關(guān)系,是一個(gè)全自動(dòng)的orm框架,hibernate可以自動(dòng)生成SQL語(yǔ)句,自動(dòng)執(zhí)行,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操控?cái)?shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的成和,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命的意義是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。

JPA/Hibernate關(guān)系?
Jpa是一種規(guī)范,而Hibernate是它的一種實(shí)現(xiàn)。除了Hibernate,還有EclipseLink(曾經(jīng)的toplink),OpenJPA等可供選擇,所以使用Jpa的一個(gè)好處是,可以更換實(shí)現(xiàn)而不必改動(dòng)太多代碼。

ORM(Object Relational Mapping)框架:是對(duì)象關(guān)系映射的意思,是一種程序技術(shù),用于實(shí)現(xiàn)面向?qū)ο缶幊陶Z(yǔ)言里不同系統(tǒng)類型的系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)換。

Spring Data是一個(gè)用于簡(jiǎn)化數(shù)據(jù)庫(kù)訪問(wèn),并支持云服務(wù)的開(kāi)源框架。其主要的目標(biāo)是使得數(shù)據(jù)庫(kù)的訪問(wèn)變得方便快捷,把那個(gè)支持map-reduce框架和云計(jì)算數(shù)據(jù)服務(wù)。此外,它還支持基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)服務(wù),如Oracle REC等。對(duì)于擁有海量數(shù)據(jù)的項(xiàng)目,可以用Spring Data來(lái)簡(jiǎn)化項(xiàng)目開(kāi)發(fā),就如Spring FrameWork對(duì)JDBC、ORM的支持一樣,Spring Data會(huì)讓數(shù)據(jù)的訪問(wèn)變得更加方便。

Spring Data JPA:可以極大的簡(jiǎn)化JPA的寫(xiě)法,可以在幾乎不用寫(xiě)實(shí)現(xiàn)方法的情況下實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn)和操作,除了CRUD外,還包括分頁(yè)、拍下等一些常用功能。
首先我們需要清除的是SPring Data是一個(gè)開(kāi)源框架,在這個(gè)框架中Spring Data JPA只是這個(gè)框架中的一個(gè)模塊,所有名稱才叫Spring Data JPA。如果單獨(dú)使用JPA開(kāi)發(fā),你會(huì)發(fā)現(xiàn)這個(gè)代碼量和使用JDBC開(kāi)發(fā)一樣有點(diǎn)煩人,所以SPring Data JPA的出現(xiàn)就是為了簡(jiǎn)化JPA的寫(xiě)法,讓你只需要編寫(xiě)一個(gè)接口繼承一個(gè)類就能實(shí)現(xiàn)CRUD操作了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評(píng)論 6 342
  • 本文中我們介紹并比較兩種最流行的開(kāi)源持久框架:iBATIS和Hibernate,我們還會(huì)討論到Java Persi...
    大同若魚(yú)閱讀 4,435評(píng)論 4 27
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • GET:請(qǐng)求參數(shù)跟在URL后面?zhèn)鬟fhttp://127.0.0.0:80/Code/php_service.php...
    ZYzan閱讀 303評(píng)論 0 0
  • 讀了很多年的書(shū),我敢說(shuō),讀過(guò)的書(shū)大部分都忘掉了,別罵我,這是真的。 但是自己的實(shí)際能力的確提高了。 我回頭想想,相...
    日方氵告閱讀 241評(píng)論 0 0

友情鏈接更多精彩內(nèi)容