什么是JPA
- JPA(Java Persistence API) 是Sun官方提出的Java持久化規(guī)范狡刘。它為Java開發(fā)人員提供了對(duì)象/關(guān)系映射工具來管理 Java應(yīng)用中的關(guān)系數(shù)據(jù)。
持久化
- 持久化(Persistence)困鸥,就是把數(shù)據(jù)(內(nèi)存中的對(duì)象)保存到可永久保存的存儲(chǔ)設(shè)備中嗅蔬,如磁盤)。持久化的 主要應(yīng)用是將內(nèi)存中的對(duì)象存在到數(shù)據(jù)庫中疾就,或是磁盤文件澜术、XML數(shù)據(jù)文件等。
- 持久化是將程序數(shù)據(jù)在持久狀態(tài)和瞬時(shí)狀態(tài)轉(zhuǎn)換的機(jī)制猬腰。
- JDBC就是一種持久化機(jī)制鸟废,文件IO也是。
持久化規(guī)范
- Sun針對(duì)持久化這一操作制定的規(guī)范姑荷,一種約定俗成的標(biāo)準(zhǔn)盒延。
什么是Hibernate?
- 一個(gè)開源的對(duì)象關(guān)系映射框架厢拭,對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝兰英。
- 將POJO與數(shù)據(jù)表建立映射關(guān)系,是一個(gè)全自動(dòng)的ORM框架供鸠。
- 可以自動(dòng)生成SQL語句畦贸,自動(dòng)執(zhí)行。
- 使用面向?qū)ο缶幊趟季S來操作數(shù)據(jù)庫
什么是ORM?
- Object Relaonal Mapping薄坏,簡(jiǎn)稱ORM
- 是一種程序設(shè)計(jì)技術(shù)趋厉,用于實(shí)現(xiàn)面向?qū)ο缶幊陶Z言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換。從效果上說胶坠,它其實(shí)是 創(chuàng)建了一個(gè)可在編程語言里使用的虛擬對(duì)象數(shù)據(jù)庫君账。
什么是Spring Data?
- 是一個(gè)用于簡(jiǎn)化數(shù)據(jù)庫訪問沈善,并支持云服務(wù)的開源框架乡数。
- 主要目標(biāo):使得數(shù)據(jù)庫的訪問變得方便,并支持map-reduce框架和云計(jì)算數(shù)據(jù)服務(wù)
- 關(guān)系數(shù)據(jù)庫的數(shù)據(jù)服務(wù)
- 海量數(shù)據(jù)項(xiàng)目 Spring Data會(huì)讓數(shù)據(jù)的訪問變得更加方便
JPA/Hibernate的關(guān)系闻牡?
- JPA是一種規(guī)范净赴,Hibernate是它的一種實(shí)現(xiàn)
- 其他產(chǎn)品:Mybas、EclipseLink罩润、OpenJPA
- JPA是接口規(guī)范玖翅,更換實(shí)現(xiàn)不需要改動(dòng)太多代碼