Pro JPA2中文版

出版時間:2011-10  出版社:清華大學(xué)出版社  作者:[加拿大]Mike Keith  頁數(shù):460  譯者:[加拿大]Merrick Schincariol  
Tag標(biāo)簽:無  

內(nèi)容概要

  本書上一版的目標(biāo)之一是盡可能地簡單明了,但是不短缺。我們盡力調(diào)整了它的大小,從而只描述我們感覺值得講述的內(nèi)容,但是依然確保適合在您的行李中攜帶本書,以便于您在公共汽車或火車上閱讀。然而,為了能夠保持我們在第1版中所有的材料,同時添加兩個章節(jié)和更多的功能,這看起來確實像是苛求。注解引用成為了這個要求的受害者。

作者簡介

  基恩,是JPA l.0的共同規(guī)范領(lǐng)導(dǎo)(co-specification lead),也是JPA
2.0專家組的活躍成員。他是許多其他JCP(Java Community Process)專家組的成員,包括JSR 316、Java
EE6平臺規(guī)范,以及OSGi Alliance的企業(yè)專家組(Enterprise Expert
Group,EEG)。他獲得了卡爾頓(Carleton)大學(xué)的計算機科學(xué)碩士學(xué)位,并且在持久性和分布式系統(tǒng)的研究與實踐方面擁有20多年的經(jīng)驗。他撰寫了許多關(guān)于JPA的論文和文章,并在世界各地的眾多會議中發(fā)表過演講。他也是一名資深的Oracle架構(gòu)師。
  席卡里爾,是一名Oracle顧問工程師,擅長中間件技術(shù)。他獲得了湖首(Lakehead)大學(xué)的計算機科學(xué)學(xué)士學(xué)位,擁有十年以上的企業(yè)軟件開發(fā)經(jīng)驗。在轉(zhuǎn)向編寫Java和J2EE應(yīng)用程序之前,他在前Java企業(yè)(pre-Java
enterprise)和商業(yè)智能領(lǐng)域從事咨詢工作。Merrick在大型系統(tǒng)和數(shù)據(jù)倉庫設(shè)計方面擁有豐富的經(jīng)驗,這使他能夠從一個成熟和實踐的角度來看待企業(yè)軟件,從而為他后來從事EJB容器實現(xiàn)的工作奠定了基礎(chǔ)。他還是Oracle
EJB 3.0實現(xiàn)的首席工程師。

書籍目錄

第1章 簡介 
 1.1 對象-關(guān)系映射 
 1.2 java持久化支持 
  1.2.1 專用解決方案 
  1.2.2 jdbc 
  1.2.3 企業(yè)javabean 
  1.2.4 java數(shù)據(jù)對象 
 1.3 為什么需要另一種標(biāo)準(zhǔn) 
 1.4 java持久化api 
  1.4.1 規(guī)范的歷史 
  1.4.2 概述 
 1.5 本章小結(jié) 
第2章 入門 
 2.1 實體概述 
  2.1.1 持久性 
  2.1.2 標(biāo)識 
  2.1.3 事務(wù)性 
  2.1.4 粒度 
 2.2 實體元數(shù)據(jù) 
  2.2.1 注解 
  2.2.2 xml 
  2.2.3 異常配置 
 2.3 創(chuàng)建實體 
 2.4 實體管理器 
  2.4.1 獲取實體管理器 
  2.4.2 持久化實體 
  2.4.3 尋找實體 
  2.4.4 刪除實體 
  2.4.5 更新實體 
  2.4.6 事務(wù) 
  2.4.7 查詢 
 2.5 匯總 
 2.6 組裝 
  2.6.1 持久化單元 
  2.6.2 持久化存檔文件 
 2.7 本章小結(jié) 
第3章 企業(yè)應(yīng)用程序 
 3.1 應(yīng)用程序組件模型 
 3.2 會話bean 
  3.2.1 無狀態(tài)會話bean 
  3.2.2 有狀態(tài)會話bean 
  3.2.3 單例會話bean 
 3.3 消息驅(qū)動bean 
 3.4 servlet 
 3.5 依賴性管理 
  3.5.1 依賴性查找 
  3.5.2 依賴性注入 
  3.5.3 聲明依賴性 
 3.6 事務(wù)管理 
  3.6.1 事務(wù)概述 
  3.6.2 java中的企業(yè)事務(wù) 
 3.7 使用java ee組件 
  3.7.1 使用無狀態(tài)會話bean 
  3.7.2 使用有狀態(tài)會話bean 
  3.7.3 使用單例會話bean 
  3.7.4 使用消息驅(qū)動bean 
  3.7.5 添加實體管理器 
 3.8 匯總 
  3.8.1 定義組件 
  3.8.2 定義用戶接口 
  3.8.3 組裝 
 3.9 本章小結(jié) 
第4章 對象-關(guān)系映射 
 4.1 持久化注解 
 4.2 訪問實體狀態(tài) 
  4.2.1 字段訪問 
  4.2.2 屬性訪問 
  4.2.3 混合訪問 
 4.3 映射到表 
 4.4 映射簡單類型 
  4.4.1 列映射 
  4.4.2 延遲提取 
  4.4.3 大型對象 
  4.4.4 枚舉類型 
  4.4.5 時間類型 
  4.4.6 瞬態(tài) 
 4.5 映射主鍵 
  4.5.1 重寫主鍵列 
  4.5.2 主鍵類型 
  4.5.3 標(biāo)識符生成 
 4.6 關(guān)系 
  4.6.1 關(guān)系概念 
  4.6.2 映射概述 
  4.6.3 單值關(guān)聯(lián) 
  4.6.4 集合值關(guān)聯(lián) 
  4.6.5 延遲關(guān)系 
 4.7 嵌入對象 
 4.8 本章小結(jié) 
第5章 集合映射 
 5.1 關(guān)系和元素集合 
 5.2 使用不同的集合類型 
  5.2.1 set或者collection 
  5.2.2 list 
  5.2.3 map 
  5.2.4 重復(fù) 
  5.2.5 null值 
 5.3 最佳實踐 
 5.4 本章小結(jié) 
第6章 實體管理器 
 6.1 持久化上下文 
 6.2 實體管理器 
  6.2.1 容器托管的實體管理器 
  6.2.2 應(yīng)用程序托管的實體管理器 
 6.3 事務(wù)管理 
  6.3.1 jta事務(wù)管理 
  6.3.2 資源本地的事務(wù) 
  6.3.3 事務(wù)回滾和實體狀態(tài) 
 6.4 選擇實體管理器 
 6.5 實體管理器操作 
  6.5.1 持久化實體 
  6.5.2 尋找實體 
  6.5.3 刪除實體 
  6.5.4 級聯(lián)操作 
  6.5.5 清除持久化上下文 
 6.6 與數(shù)據(jù)庫同步 
 6.7 分離和合并 
  6.7.1 分離 
  6.7.2 合并分離的實體 
  6.7.3 與分離實體一起工作 
 6.8 本章小結(jié) 
第7章 使用查詢 
 7.1 java持久化查詢語言 
  7.1.1 入門 
  7.1.2 篩選結(jié)果 
  7.1.3 投影結(jié)果 
  7.1.4 實體之間的聯(lián)接 
  7.1.5 聚合查詢 
  7.1.6 查詢參數(shù) 
 7.2 定義查詢 
  7.2.1 動態(tài)查詢定義 
  7.2.2 命名查詢定義 
  7.3 參數(shù)類型 
 7.4 執(zhí)行查詢 
  7.4.1 使用查詢結(jié)果 
  7.4.2 查詢分頁 
  7.4.3 查詢與未提交的更改 
  7.4.4 查詢超時 
 7.5 批量更新和刪除 
  7.5.1 使用批量更新和刪除 
  7.5.2 批量刪除和關(guān)系 
 7.6 查詢提示 
 7.7 查詢的最佳實踐 
  7.7.1 命名查詢 
  7.7.2 報告查詢 
  7.7.3 供應(yīng)商提示 
  7.7.4 無狀態(tài)會話bean 
  7.7.5 批量更新和刪除 
  7.7.6 提供程序的區(qū)別 
 7.8 本章小結(jié) 
第8章 查詢語言 
 8.1 簡介 
  8.1.1 術(shù)語 
  8.1.2 示例數(shù)據(jù)模型 
  8.1.3 示例應(yīng)用程序 
 8.2 選擇查詢 
  8.2.1 select子句 
  8.2.2 from 子句 
  8.2.3 where子句 
  8.2.4 標(biāo)量表達式 
  8.2.5 order by子句 
 8.3 聚合查詢 
  8.3.1 聚合函數(shù) 
  8.3.2 group by子句 
  8.3.3 having子句 
 8.4 更新查詢 
 8.5 刪除查詢 
 8.6 本章小結(jié) 
第9章 條件api 
 9.1 概述 
  9.1.1 條件api 
  9.1.2 參數(shù)化類型 
  9.1.3 動態(tài)查詢 
 9.2 構(gòu)建條件api查詢 
  9.2.1 創(chuàng)建查詢定義 
  9.2.2 基本結(jié)構(gòu) 
  9.2.3 條件對象和可變性 
  9.2.4 查詢根和路徑表達式 
  9.2.5 select子句 
  9.2.6 from子句 
  9.2.7 where子句 
  9.2.8 構(gòu)建表達式 
  9.2.9 order by子句 
  9.2.10 group by和having子句 
 9.3 強類型查詢定義 
  9.3.1 元模型api 
  9.3.2 強類型的api概述 
  9.3.3 規(guī)范化元模型 
  9.3.4 選擇正確的查詢類型 
 9.4 本章小結(jié) 
第10章 高級對象-關(guān)系映射 
 10.1 表和列名 
 10.2 復(fù)雜的嵌入對象 
  10.2.1 高級嵌入映射 
  10.2.2 重寫嵌入關(guān)系 
 10.3 復(fù)合主鍵 
  10.3.1 id類 
  10.3.2 嵌入id類 
 10.4 派生標(biāo)識符 
  10.4.1 派生標(biāo)識符的基本規(guī)則 
  10.4.2 共享主鍵 
  10.4.3 多個映射特性 
  10.4.4 使用embeddedid 
 10.5 高級映射元素 
  10.5.1 只讀映射 
  10.5.2 可選性 
 10.6 高級關(guān)系 
  10.6.1 使用聯(lián)接表 
  10.6.2 避免聯(lián)接表 
  10.6.3 復(fù)合聯(lián)接列 
  10.6.4 孤兒刪除 
  10.6.5 映射關(guān)系狀態(tài) 
 10.7 多個表 
 10.8 繼承 
  10.8.1 類層次結(jié)構(gòu) 
  10.8.2 繼承模型 
  10.8.3 混合繼承 
 10.9 本章小結(jié) 
第11章 高級主題 
 11.1 sql查詢 
  11.1.1 本地查詢與jdbc 
  11.1.2 定義和執(zhí)行sql查詢 
  11.1.3 sql結(jié)果集映射 
  11.1.4 參數(shù)綁定 
 11.2 生命周期回調(diào) 
  11.2.1 生命周期事件 
  11.2.2 回調(diào)方法 
  11.2.3 實體偵聽器 
  11.2.4 繼承和生命周期事件 
 11.3 驗證 
  11.3.1 使用約束 
  11.3.2 調(diào)用驗證 
  11.3.3 驗證組 
  11.3.4 創(chuàng)建新的約束 
  11.3.5 jpa中的驗證 
  11.3.6 啟用驗證 
  11.3.7 設(shè)置生命周期的驗證組 
 11.4 并發(fā)性 
  11.4.1 實體操作 
  11.4.2 實體訪問 
 11.5 刷新實體狀態(tài) 
 11.6 鎖定 
  11.6.1 樂觀鎖定 
  11.6.2 悲觀鎖定 
 11.7 緩存 
  11.7.1 通過層排序 
  11.7.2 共享緩存 
 11.8 utility類 
  11.8.1 persistenceutil 
  11.8.2 persistenceunitutil 
 11.9 本章小結(jié) 
第12章 xml映射文件 
 12.1 元數(shù)據(jù)困惑 
 12.2 映射文件 
  12.2.1 禁用注解 
  12.2.2 持久化單元默認(rèn)值 
  12.2.3 映射文件默認(rèn)值 
  12.2.4 查詢和生成器 
  12.2.5 托管類和映射 
 12.3 本章小結(jié) 
第13章 包裝和部署 
 13.1 配置持久化單元 
  13.1.1 持久化單元的名稱 
  13.1.2 事務(wù)類型 
  13.1.3 持久化提供程序 
  13.1.4 數(shù)據(jù)源 
  13.1.5 映射文件 
  13.1.6 托管類 
  13.1.7 共享緩存模式 
  13.1.8 驗證架構(gòu) 
  13.1.9 添加供應(yīng)商屬性 
 13.2 構(gòu)建和部署 
  13.2.1 部署類路徑 
  13.2.2 包裝選項 
  13.2.3 持久化單元的范圍 
 13.3 服務(wù)器外部 
  13.3.1 配置持久化單元 
  13.3.2 在運行時指定屬性 
  13.3.3 系統(tǒng)類路徑 
 13.4 架構(gòu)生成 
  13.4.1 唯一約束 
  13.4.2 null約束 
  13.4.3 基于字符串的列 
  13.4.4 浮點列 
  13.4.5 定義列 
 13.5 本章小結(jié) 
第14章 測試 
 14.1 測試企業(yè)應(yīng)用程序 
  14.1.1 術(shù)語 
  14.1.2 在服務(wù)器外部測試 
  14.1.3 測試架構(gòu) 
 14.2 單元測試 
  14.2.1 測試實體 
  14.2.2 測試組件中的實體 
  14.2.3 單元測試中的實體管理器 
 14.3 集成測試 
  14.3.1 使用實體管理器 
  14.3.2 組件和持久化 
 14.4 最佳實踐 
 14.5 本章小結(jié) 
第15章 遷移 
 15.1 從cmp實體bean遷移 
  15.1.1 劃定挑戰(zhàn)的范圍 
  15.1.2 實體bean轉(zhuǎn)換 
 15.2 從jdbc遷移 
 15.3 從其他的orm解決方案遷移 
 15.4 利用設(shè)計模式 
  15.4.1 傳輸對象 
  15.4.2 會話外觀 
  15.4.3 數(shù)據(jù)訪問對象 
  15.4.4 業(yè)務(wù)對象 
  15.4.5 快車道讀者 
  15.4.6 活動記錄 
 15.5 本章小結(jié)

章節(jié)摘錄

版權(quán)頁:插圖:14.1,1術(shù)語每個人對于單元測試或者集成測試的組成部分的理解并不一致。事實上,對于一組開發(fā)人員的任何調(diào)查都將很可能會產(chǎn)生各種各樣的結(jié)果,有些結(jié)果在本質(zhì)上類似,而其他的則會涉及測試的完全不同的方面。因此,我們認(rèn)為定義用于測試的術(shù)語非常重要,從而使得您可以把它翻譯成任何您熟悉的術(shù)語。我們把測試分為下列4種類別。單元測試(Unit Test)。單元測試是由開發(fā)人員編寫的,側(cè)重于隔離的應(yīng)用程序組件。取決于您所采用的方法,它可能是一個單一類或類的集合。唯一關(guān)鍵的定義元素在于,單元測試不會與任何服務(wù)器資源耦合(把這些資源去掉通常是測試過程的一部分)并且執(zhí)行得非??臁1仨毮軌驈腎DE中執(zhí)行單元測試的整個套件(suite),同時在幾秒鐘之內(nèi)得到結(jié)果。單元測試可以自動執(zhí)行,當(dāng)它作為與配置管理系統(tǒng)每次合并的一部分時,通常將它配置為自動執(zhí)行。集成測試(Integration Test)。集成測試也是由開發(fā)人員編寫的,重點在于應(yīng)用程序中的用例。通常它們?nèi)匀慌c應(yīng)用服務(wù)器解耦合,但是單元測試和集成測試之間的區(qū)別在于集成測試充分利用了諸如數(shù)據(jù)庫等外部資源。實際上集成測試會從應(yīng)用程序獲得一個組件并隔離運行,就像它仍然在應(yīng)用服務(wù)器中一樣。本地運行測試將比駐留在應(yīng)用服務(wù)器中的測試速度更快,但是仍低于單元測試。集成測試也是自動地執(zhí)行,通常至少每天會運行一次,以確保不會因開發(fā)人員而引入回歸。功能測試(Functional Test)。功能測試是黑盒測試,由質(zhì)量工程師而不是開發(fā)人員對它進行編寫和自動執(zhí)行。質(zhì)量工程師檢查產(chǎn)品的功能規(guī)范和用戶界面,并尋找可以不用理解(或關(guān)注)應(yīng)用程序的實現(xiàn)方式而驗證產(chǎn)品行為的自動測試方法。功能測試是應(yīng)用程序開發(fā)過程的關(guān)鍵部分,但是把執(zhí)行這些測試作為開發(fā)人員日常工作的一部分是不現(xiàn)實的。通常會獨立于常規(guī)的開發(fā)過程,以不同的進度安排來自動地執(zhí)行這些測試。·驗收測試(Acceptance Test)。驗收測試是客戶驅(qū)動的(customer-driven)。這些測試(通常是手工進行)直接由客戶或扮演客戶角色的代表來執(zhí)行。驗收測試的目標(biāo)是為了驗證應(yīng)用程序在用戶接口和行為方面是否滿足了客戶規(guī)定的需求。

媒體關(guān)注與評論

令人難以置信的是,自從初始的Java持久化API 1.0版本發(fā)布以來,已經(jīng)過去了三年。此間,我們目睹了它由成熟的API轉(zhuǎn)變成主流的持久化標(biāo)準(zhǔn)。與此同時,許多讀者使用本書的上一個版本作為掌握J(rèn)PA的起點,很高興我們在此過程中對您有所幫助!JPA 2.0包括了一系列新特性,例如,其他的對象關(guān)系映射、更靈活的對象建模、類型化查詢以及嶄新的條件API等。由于有很多內(nèi)容需要討論,因此我們很興奮能夠更新其內(nèi)容,解釋所有新特性,而且還包括了一些提示和技巧來幫助您在實踐中使用API。如果您已經(jīng)具備使用JPA 1.0的經(jīng)驗,那么應(yīng)該能夠從在JPA2.0中添加一個新特性時所指出的版本提示中獲益。這些提示旨在幫助用戶編寫一個JPA 1.0實現(xiàn),但還不能使用2.0特性。對于JPA新手來說,大可不必?fù)?dān)心會被遺忘。我們依然堅持最初的意圖:把沒有任何JPA基礎(chǔ)的人訓(xùn)練成JPA高級開發(fā)人員。在《Pro JPA 2中文版:精通Java持久化API》的前兩章中,您應(yīng)該能夠快速掌握入門所需的知識(資深的JPA編程人員可以從第3章開始)。最后,我們要表示感謝,因為是您使得本書的上一個版本如此成功。我們非常高興它已經(jīng)成為JPA開發(fā)人員的主要參考資源,希望您能夠發(fā)現(xiàn)《Pro JPA 2中文版:精通Java持久化API》具有同樣的價值。  ——Mike Keith(JPA2.0專家組成員)和Merrick Schincariol

編輯推薦

《Pro JPA2中文版:精通Java持久化API》:明確指導(dǎo)使用新的JPA 2創(chuàng)建健壯的,數(shù)據(jù)驅(qū)動的應(yīng)用程序。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Pro JPA2中文版 PDF格式下載


用戶評論 (總計32條)

 
 

  •   這本書系統(tǒng)的講解了jpa的內(nèi)容,很適合初學(xué)者以及當(dāng)一本工具書查閱
  •   有jpa1.0的人,不需要購買這本
  •   比較詳細(xì)的講解了Java持久化
  •   文章里有我需要的東西,但是清華大學(xué)出版社出版的書籍怎么說呢,排版始終感覺很刻板
  •   確實很好很全面的有本書,例子也很好
  •   英文版太難看看,主要是英語差啊,只能買中文版對照看
  •   幫朋友買的 說這本書不錯
  •   非常滿意 快速
  •   JPA 2 最新教材,框架作者親自編寫的教材,值得推薦
  •   以前在網(wǎng)上收集的JPA資料,很碎很雜,沒有系統(tǒng)學(xué)過,特地在當(dāng)當(dāng)上買了這本書仔細(xì)專研,JPA的確很強大,需要不斷練習(xí),敲代碼。系統(tǒng)學(xué)習(xí)JPA,這本書是不錯的選擇。
  •   這本書做為學(xué)習(xí)JPA2的基礎(chǔ)書籍很不錯,只要你想學(xué),就看看吧。
  •   先看了電子版的,覺得很不錯,現(xiàn)在jpa2的教程不是很多,這本算是不錯的了
  •   不錯的書,建議購買,對用JPA的人有不錯的效果噢!
  •   內(nèi)容還是很全面的,但在講解具體技術(shù)時,感覺很羅嗦,讓人有摸不著頭腦的感覺。但整體上還是不錯的。
  •   這個商品不錯,各方面都比較滿意
  •   介紹的很詳細(xì),對于理論很有幫助
  •   書還算可以,發(fā)過來的時候書面有點皺,速度很快,第二天就收到了
  •   初略看了一下,應(yīng)該還可以
  •   缺少一些實例,看完覺得收獲不多。
  •   講的比較細(xì),不過示例多數(shù)都是代碼片段,如果代碼寫的少的人或想象力不好的人看可能比較暈乎。
  •   書的質(zhì)量確實不錯,是正版!
  •   好多頁都重影,影響閱讀,更影響心情。質(zhì)量有點次。內(nèi)容還可以
  •   在網(wǎng)上看了下英文版的 覺得寫得確實不錯 但是看英文版的太費勁了 就買了本中文版的。沒想到 確實如其他人評論的一樣 翻譯得太一般了 感覺就是用翻譯軟件翻出來的一樣 看著句子很生硬 不太好理解。如果英文好的朋友 就不必買了
  •   正版書 內(nèi)容也不錯 對于學(xué)習(xí)JPI 有幫助
  •   不錯,在這個價位能買到這類書真不錯。
  •   從這本書的中文譯本就能看出這個社會多么浮躁,我不否認(rèn)我也是浮躁大軍的一員,也許不能否定譯者的學(xué)術(shù)水平,但這本書譯者不知道是怎樣的一種急功近利的心態(tài)完成的,完全不按照相關(guān)術(shù)語的翻譯,機器翻譯痕跡明顯,中國一年要糟蹋多少本好書,浮躁就是中國IT業(yè)這么落后的根本原因
  •   顯然,這本書不是業(yè)內(nèi)人事翻譯的,翻譯得很差。如果你對JPA從來都不曾了解,不要買這本書,會看得你覺得JPA很難,會打擊到你。其實這不怪你,這是譯者的問題。
  •   翻譯質(zhì)量太差了,有些地方翻譯的很生硬,還不如直接看英文原版呢。
  •   這本書無論對于JPA高手還是新手,尤其是新手來說,無疑是一件無價之寶。這本書深入淺出、全面細(xì)致的講解了JPA2的全部內(nèi)容,可以說是目前最權(quán)威、實用的書。之后可以看看Apache OpenJPA,這個開源產(chǎn)品完全實現(xiàn)了JPA2.……
  •   精通Java持久化API
  •   值得用心看的參考書
  •   書寫的不錯,內(nèi)容比較好
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7