從一個(gè)簡(jiǎn)單的 JPA 示例開(kāi)始

本文主要講述 Spring Data JPA,但是為了不至于給 JPA 和 Spring 的初學(xué)者造成較大的學(xué)習(xí)曲線,我們首先從 JPA 開(kāi)始,簡(jiǎn)單介紹一個(gè) JPA 示例;接著重構(gòu)該示例,并引入 Spring 框架,這兩部分不會(huì)涉及過(guò)多的篇幅,如果希望能夠深入學(xué)習(xí) Spring 和 JPA,可以根據(jù)本文最后提供的參考資料進(jìn)一步學(xué)習(xí)。
自 JPA 伴隨 Java EE 5 發(fā)布以來(lái),受到了各大廠商及開(kāi)源社區(qū)的追捧,各種商用的和開(kāi)源的 JPA 框架如雨后春筍般出現(xiàn),為開(kāi)發(fā)者提供了豐富的選擇。它一改之前 EJB 2.x 中實(shí)體 Bean 笨重且難以使用的形象,充分吸收了在開(kāi)源社區(qū)已經(jīng)相對(duì)成熟的 ORM 思想。另外,它并不依賴于 EJB 容器,可以作為一個(gè)獨(dú)立的持久層技術(shù)而存在。目前比較成熟的 JPA 框架主要包括 Jboss 的 Hibernate EntityManager、Oracle 捐獻(xiàn)給 Eclipse 社區(qū)的 EclipseLink、Apache 的 OpenJPA 等。
本文的示例代碼基于 Hibernate EntityManager 開(kāi)發(fā),但是讀者幾乎不用修改任何代碼,便可以非常容易地切換到其他 JPA 框架,因?yàn)榇a中使用到的都是 JPA 規(guī)范提供的接口 / 類,并沒(méi)有使用到框架本身的私有特性。示例主要涉及七個(gè)文件,但是很清晰:業(yè)務(wù)層包含一個(gè)接口和一個(gè)實(shí)現(xiàn);持久層包含一個(gè)接口、一個(gè)實(shí)現(xiàn)、一個(gè)實(shí)體類;另外加上一個(gè) JPA 配置文件和一個(gè)測(cè)試類。相關(guān)類 / 接口代碼如下:
清單 1. 實(shí)體類 AccountInfo.java
@Entity
@Table(name = "t_accountinfo")
public class AccountInfo implements Serializable {
private Long accountId;
private Integer balance;
// 此處省略 getter 和 setter 方法。
}
分享題目:springdata簡(jiǎn)化jpa開(kāi)發(fā)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理-創(chuàng)新互聯(lián)
本文來(lái)源:http://chinadenli.net/article12/shgdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、小程序開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站改版、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容