什么是JPA
? ? ? JPA(Java Persistence API) 是Sun官方提出的Java持久化規(guī)范款慨。它為Java開發(fā)人員提供了對象/關(guān)系映射工具來管理Java應(yīng)用中的關(guān)系數(shù)據(jù)赴精。
持久化
? ? ? ?持久化(Persistence)匠楚,就是把數(shù)據(jù)(內(nèi)存中的對象)保存到可永久保存的存儲設(shè)備中谢澈,如磁盤)伊群。持久化的主要應(yīng)用是將內(nèi)存中的對象存在到數(shù)據(jù)庫中赫模,或是磁盤文件问拘、XML數(shù)據(jù)文件等赦抖。
? ? ? ?持久化是將程序數(shù)據(jù)在持久狀態(tài)和瞬時狀態(tài)轉(zhuǎn)換的機制淘钟。
JDBC就是一種持久化機制宦赠,文件IO也是。
持久化規(guī)范
? ? ? ?Sun針對持久化這一操作制定的規(guī)范米母,一種約定俗成的標(biāo)準(zhǔn)勾扭。
什么是Hibernate?
? ? ? ?一個開源的對象關(guān)系映射框架铁瞒,對JDBC進行了非常輕量級的對象封裝妙色。將POJO與數(shù)據(jù)表建立映射關(guān)系,是一個全自動的ORM框架慧耍∩肀妫可以自動生成SQL語句,自動執(zhí)行芍碧。使用面向?qū)ο缶幊趟季S來操作數(shù)據(jù)庫
什么是ORM栅表?
? ? ? ?Object RelaonalMapping,簡稱ORM是一種程序設(shè)計技術(shù)师枣,用于實現(xiàn)面向?qū)ο缶幊陶Z言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換怪瓶。從效果上說,它其實是創(chuàng)建了一個可在編程語言里使用的虛擬對象數(shù)據(jù)庫。
什么是Spring Data洗贰?
? ? ? ?是一個用于簡化數(shù)據(jù)庫訪問找岖,并支持云服務(wù)的開源框架。
主要目標(biāo):使得數(shù)據(jù)庫的訪問變得方便敛滋,并支持map-reduce框架和云計算數(shù)據(jù)服務(wù)關(guān)系數(shù)據(jù)庫的數(shù)據(jù)服務(wù)海量數(shù)據(jù)項目Spring Data會讓數(shù)據(jù)的訪問變得更加方便许布。
JPA/Hibernate的關(guān)系?
? ? ? JPA是一種規(guī)范绎晃,Hibernate是它的一種實現(xiàn)蜜唾。其他產(chǎn)品:Mybas、EclipseLink庶艾、OpenJPA袁余。
JPA是接口規(guī)范,更換實現(xiàn)不需要改動太多代碼咱揍。