Hibernate逍遙游記

出版時間:2010-7  出版社:電子工業(yè)出版社  作者:孫衛(wèi)琴  頁數(shù):319  
Tag標(biāo)簽:無  

前言

  在Java領(lǐng)域,訪問關(guān)系數(shù)據(jù)庫的最原始、最直接的方法是借助JDBCAPI。這種方式的優(yōu)點是運行效率高,缺點是在Java程序代碼中嵌入大量SQL語句,使得項目難以維護。在開發(fā)具有分層結(jié)構(gòu)的企業(yè)級Java應(yīng)用時,如圖P-l所示,可以通過JDBCAPI來開發(fā)單獨的持久化層,把數(shù)據(jù)庫訪問操作封裝起來,提供簡潔的API,供業(yè)務(wù)邏輯層統(tǒng)一調(diào)用。但是,如果關(guān)系數(shù)據(jù)模型非常復(fù)雜,那么直接通過JDBCAPI來實現(xiàn)持久化層需要有專業(yè)的知識。對于企業(yè)應(yīng)用的開發(fā)人員,花費大量時間從頭開發(fā)自己的持久化層不是很可行?! ⌒疫\的是,目前在持久化層已經(jīng)有好多種現(xiàn)成的持久化軟件可供選用,有些是商業(yè)性的,如Top Link;有些是非商業(yè)性的,如JDO和Hibernate。Hibernate是一個基于Java的開放源代碼的持久化軟件,它對JDBC做了輕量級封裝,不僅提供ORM(Obiect Relation Mapping,對象一關(guān)系映射)服務(wù),還提供數(shù)據(jù)查詢和數(shù)據(jù)緩存功能,Java開發(fā)人員可以方便地通過Hibernate API來操縱數(shù)據(jù)庫。  現(xiàn)在,越來越多的Java開發(fā)人員通過Hibernate來訪問關(guān)系數(shù)據(jù)庫,以節(jié)省和訪問數(shù)據(jù)庫有關(guān)的30%的JDBC編程工作量?! ”緯Y(jié)合大量典型的實例,由淺入深地介紹運用目前最成熟的Hibernate3.3 版本來訪問關(guān)系數(shù)據(jù)庫的技術(shù)?! ”緯诒硎龇矫妫肓酥袊鴤鹘y(tǒng)文化中家喻戶曉的《西游記》人物孫悟空,以他學(xué)習(xí)Hibernate為主線,以為花果山實現(xiàn)信息化為案例,帶領(lǐng)讀者逐步領(lǐng)略Hibernate技術(shù)的種種神通妙用,大大增加了書的趣味性。

內(nèi)容概要

Hibernate是非常流行的對象-關(guān)系映射工具。本書由淺入深地介紹運用目前最成熟的Hibernate 3.3版本進行Java對象持久化的核心技術(shù)。本書主要介紹通過Hibernate API來訪問數(shù)據(jù)庫的方法,還介紹把Java對象模型映射到關(guān)系數(shù)據(jù)模型的各種技巧、處理并發(fā)問題及實現(xiàn)對話的種種方案。本書將幫助讀者編寫出具有合理的軟件架構(gòu),以及好的運行性能和并發(fā)性能的實用Hibernate應(yīng)用。書中內(nèi)容注重理論與實踐相結(jié)合,列舉大量具有典型性和實用價值的Hibernate應(yīng)用實例,并提供詳細的開發(fā)和部署步驟?! ‰S書配套光盤內(nèi)容為本書所有范例源程序、本書涉及的軟件的最新版本的安裝程序?! ”緯诒硎龇矫?,引入了中國傳統(tǒng)文化中家喻戶曉的《西游記》人物孫悟空,以他學(xué)習(xí)Hibernate為主線,以為花果山實現(xiàn)信息化為案例,帶領(lǐng)讀者逐步領(lǐng)略Hibernate技術(shù)的種種神通妙用,大大增加了書的趣味性。只要讀者具備了Java基礎(chǔ)知識,就能輕松閱讀本書,快速掌握Hibernate技術(shù)。

作者簡介

孫衛(wèi)琴
  知名IT作家·Java系列暢銷書的作者。1997年畢業(yè)于上海交通大學(xué)·隨后從事基于Java的軟件開發(fā)工作,還從事Java方面的培訓(xùn)和咨詢工作。2002年開始Java技術(shù)領(lǐng)域的創(chuàng)作,其作品深受讀者好評·多部作品的發(fā)行量在國內(nèi)同類作品中屢居第一。
  代表著作有:
  《Hibernate逍遙游記》2010
  《精通Hibernate:Java對象持久化技術(shù)詳解》(第2版)2010
  《Tomcat與JavaWeb開發(fā)技術(shù)詳解》(第2版)2009
  《Java網(wǎng)絡(luò)編程精解》2007
  《Java面向?qū)ο缶幊獭?006
  《精通Hibernate:Java對象持久化技術(shù)詳解》2005
  《精通Struts:基于MVC的Java Web設(shè)計與開發(fā)》2004
  《Tomcat與Java Web開發(fā)技術(shù)詳解》2004
  《Java 2認(rèn)證考試指南與試題解析》2002

書籍目錄

第1章 訪問關(guān)系數(shù)據(jù)庫的途徑  1.1 創(chuàng)建關(guān)系數(shù)據(jù)庫表   1.2 訪問關(guān)系數(shù)據(jù)庫的途徑    1.2.1 通過數(shù)據(jù)庫的自帶客戶程序與數(shù)據(jù)庫服務(wù)器交互    1.2.2 通過Java程序與數(shù)據(jù)庫服務(wù)器交互   1.3 Java程序通過JDBC API訪問數(shù)據(jù)庫   1.4 Java程序通過Hibernate API訪問數(shù)據(jù)庫   1.5 Java對象的持久化概念   1.6 小結(jié)  第2章 第一個Hibernate應(yīng)用   2.1 創(chuàng)建Hibernate的配置文件   2.2 創(chuàng)建持久化類   2.3 創(chuàng)建數(shù)據(jù)庫Schema   2.4 創(chuàng)建對象-關(guān)系映射文件   2.5 通過Hibernate API操縱數(shù)據(jù)庫    2.5.1 Hibernate的初始化    2.5.2 訪問Hibernate的Session接口   2.6 運行monkeys應(yīng)用    2.6.1 創(chuàng)建運行本書范例的系統(tǒng)環(huán)境    2.6.2 創(chuàng)建monkeys應(yīng)用的目錄結(jié)構(gòu)    2.6.3 運行monkeys應(yīng)用    2.6.4 給monkeys應(yīng)用加入用戶界面   2.7 小結(jié)  第3章 對象-關(guān)系映射基礎(chǔ)   3.1 持久化類的屬性及訪問方法    3.1.1 基本類型屬性和包裝類型屬性    3.1.2 Hibernate訪問持久化類屬性的策略    3.1.3 在持久化類的訪問方法中加入程序邏輯    3.1.4 設(shè)置派生屬性    3.1.5 控制insert和update語句   3.2 處理SQL引用標(biāo)識符   3.3 使用XML格式的配置文件   3.4 運行本章的范例程序   3.5 小結(jié)  第4章 映射對象標(biāo)識符   4.1 關(guān)系數(shù)據(jù)庫按主鍵區(qū)分不同的記錄    4.1.1 把主鍵定義為自動增長標(biāo)識符類型    4.1.2 從序列(Sequence)中獲取自動增長的標(biāo)識符   4.2 Java語言按內(nèi)存地址區(qū)分不同的對象   4.3 Hibernate用對象標(biāo)識符(OID)來區(qū)分對象   4.4 Hibernate的內(nèi)置標(biāo)識符生成器的用法    4.4.1 increment標(biāo)識符生成器    4.4.2 identity標(biāo)識符生成器    4.4.3 sequence標(biāo)識符生成器    4.4.4 hilo標(biāo)識符生成器    4.4.5 native標(biāo)識符生成器   4.5 映射自然主鍵   4.6 小結(jié)  第5章 映射一對多關(guān)聯(lián)關(guān)系   5.1 建立多對一的單向關(guān)聯(lián)關(guān)系    5.1.1 關(guān)于TransientObjectException異常    5.1.2 級聯(lián)保存和更新   5.2 映射一對多雙向關(guān)聯(lián)關(guān)系    5.2.1 [set]元素的inverse屬性    5.2.2 級聯(lián)刪除    5.2.3 父子關(guān)系   5.3 小結(jié)  第6章 通過Hibernate操縱對象   6.1 理解Session的緩存    6.1.1 Session的緩存的作用   6.1.2 臟檢查及清理緩存的機制  6.2 Java對象在Hibernate持久化層的狀態(tài)   6.2.1 臨時對象的特征   6.2.2 持久化對象的特征   6.2.3 被刪除對象的特征   6.2.4 游離對象的特征  6.3 Session接口的詳細用法   6.3.1 Session的save()方法    6.3.2 Session的load()和get()方法    6.3.3 Session的update()方法    6.3.4 Session的saveOrUpdate()方法    6.3.5 Session的merge()方法    6.3.6 Session的delete()方法   6.4 級聯(lián)操縱對象圖   6.5 批量處理數(shù)據(jù)    6.5.1 通過Session來進行批量操作    6.5.2 通過StatelessSession來進行批量操作    6.5.3 通過HQL來進行批量操作   6.6 Hibernate的二級緩存結(jié)構(gòu)   6.7 小結(jié)  第7章 Hibernate的檢索策略和檢索方式   7.1 Hibernate的檢索策略    7.1.1 類級別的檢索策略    7.1.2 一對多和多對多關(guān)聯(lián)的檢索策略    7.1.3 多對一和一對一關(guān)聯(lián)的檢索策略    7.1.4 在應(yīng)用程序中顯式指定迫切左外連接檢索策略    7.1.5 比較3種檢索策略   7.2 檢索方式    7.2.1 HQL檢索方式    7.2.2 QBC檢索方式    7.2.3 SQL檢索方式   7.3 小結(jié)  第8章 映射組成關(guān)系   8.1 建立精粒度對象模型   8.2 建立粗粒度關(guān)系數(shù)據(jù)模型   8.3 映射組成關(guān)系    8.3.1 區(qū)分值(Value)類型和實體(Entity)類型    8.3.2 在應(yīng)用程序中訪問具有組成關(guān)系的持久化類   8.4 映射復(fù)合組成關(guān)系   8.5 小結(jié)  第9章 Hibernate的映射類型   9.1 Hibernate的內(nèi)置映射類型    9.1.1 Java基本類型的Hibernate映射類型    9.1.2 Java時間和日期類型的Hibernate映射類型    9.1.3 Java大對象類型的Hibernate映射類型    9.1.4 JDK自帶的個別Java類的Hibernate映射類型    9.1.5 使用Hibernate內(nèi)置映射類型   9.2 客戶化映射類型   9.3 用客戶化映射類型取代Hibernate組件   9.4 運行范例程序   9.5 小結(jié)  第10章 映射繼承關(guān)系   10.1 繼承關(guān)系樹的每個具體類對應(yīng)一個表    10.1.1 創(chuàng)建映射文件    10.1.2 操縱持久化對象   10.2 繼承關(guān)系樹的根類對應(yīng)一個表    10.2.1 創(chuàng)建映射文件    10.2.2 操縱持久化對象   10.3 繼承關(guān)系樹的每個類對應(yīng)一個表    10.3.1 創(chuàng)建映射文件    10.3.2 操縱持久化對象   10.4 選擇繼承關(guān)系的映射方式   10.5 小結(jié)  第11章 Java集合  11.1 Set(集)   11.1.1 Set的一般用法   11.1.2 HashSet類   11.1.3 TreeSet類  11.2 List(列表)   11.3 Map(映射)   11.4 小結(jié)  第12章 映射值類型集合   12.1 映射Set(集)   12.2 映射Bag(包)   12.3 映射List(列表)   12.4 映射Map   12.5 對集合排序    12.5.1 在數(shù)據(jù)庫中對集合排序    12.5.2 在內(nèi)存中對集合排序   12.6 小結(jié)  第13章 映射實體關(guān)聯(lián)關(guān)系   13.1 映射一對一關(guān)聯(lián)    13.1.1 按照外鍵映射    13.1.2 按照主鍵映射   13.2 映射單向多對多關(guān)聯(lián)   13.3 映射雙向多對多關(guān)聯(lián)關(guān)系    13.3.1 關(guān)聯(lián)兩端使用[set]元素    13.3.2 使用組件類集合    13.3.3 把多對多關(guān)聯(lián)分解為兩個一對多關(guān)聯(lián)   13.4 小結(jié)  第14章 聲明數(shù)據(jù)庫事務(wù)   14.1 數(shù)據(jù)庫事務(wù)的概念   14.2 聲明事務(wù)邊界的方式   14.3 在mysql.exe程序中聲明事務(wù)   14.4 Java應(yīng)用通過JDBC API聲明事務(wù)   14.5 Java應(yīng)用通過Hibernate API聲明事務(wù)    14.5.1 處理異常    14.5.2 Session與事務(wù)的關(guān)系      14.5.3 設(shè)定事務(wù)超時   14.6 小結(jié)  第15章 處理并發(fā)問題   15.1 多個事務(wù)并發(fā)運行時的并發(fā)問題    15.1.1 第一類丟失更新    15.1.2 臟讀    15.1.3 虛讀    15.1.4 不可重復(fù)讀    15.1.5 第二類丟失更新   15.2 數(shù)據(jù)庫系統(tǒng)的鎖的基本原理   15.3 數(shù)據(jù)庫的事務(wù)隔離級別    15.3.1 在mysql.exe程序中設(shè)置隔離級別    15.3.2 在應(yīng)用程序中設(shè)置隔離級別   15.4 在應(yīng)用程序中采用悲觀鎖   15.5 利用Hibernate的版本控制來實現(xiàn)樂觀鎖    15.5.1 使用[version]元素    15.5.2 使用[timestamp]元素    15.5.3 對游離對象進行版本檢查   15.6 實現(xiàn)樂觀鎖的其他方法   15.7 小結(jié)  第16章 管理Session和實現(xiàn)對話  16.1 Hibernate管理Session對象的方式  16.2 Session對象的生命周期與本地線程綁定  16.3 實現(xiàn)對話   16.3.1 使用游離對象   16.3.2 使用手工清理緩存模式下的Session   16.4 Hibernate委托程序來管理Session    16.5 小結(jié)   

章節(jié)摘錄

  第1章 訪問關(guān)系數(shù)據(jù)庫的途徑  1.1 創(chuàng)建關(guān)系數(shù)據(jù)庫表  悟空在他所熟悉的MySQL關(guān)系數(shù)據(jù)庫中創(chuàng)建了一張名為“MONKEYS”的表,表的結(jié)構(gòu)如圖1.1所示。  MONKEYS表用來存放猴子的基本信息,比如名字(NAME字段)、年齡(AGE字段)和性別(GENDER字段)?! ONKEYS表中的ID字段為主鍵(Primary Key,簡稱PK)。數(shù)據(jù)庫表通過主鍵來保證每條記錄的唯一性,每條記錄的ID值都是唯一的。表的主鍵最好不具有任何業(yè)務(wù)含義,即不代表特定業(yè)務(wù)領(lǐng)域的某種信息。任何有業(yè)務(wù)含義的字段都有可能隨著業(yè)務(wù)需求的變化而被改變。關(guān)系數(shù)據(jù)庫學(xué)的最重要的理論之一就是:不要給主鍵賦予任何業(yè)務(wù)含義,這樣可以提高數(shù)據(jù)庫系統(tǒng)的可維護性。  假如主鍵具有了業(yè)務(wù)含義,會出現(xiàn)什么情況呢?以MONKEYS表為例,假定把NAME字段作為主鍵,這是一個具有業(yè)務(wù)含義的主鍵。假定一開始用戶的業(yè)務(wù)需求為:NAME字段為6位字符串,過了一年后,用戶改變了業(yè)務(wù)需求,規(guī)定NAME字段為8位字符串。當(dāng)業(yè)務(wù)需求改變后,就必須修改MONKEYS表中所有記錄的NAME主鍵的值,此外,對于那些參照MONKEYS表,并且把NAME字段作為外鍵的所有其他表,也需要修改表中所有記錄的NAME外鍵的值。

編輯推薦

  學(xué)習(xí)Hibernate真的很有趣!作者孫衛(wèi)琴老師獨創(chuàng)寫作風(fēng)格,引入中國傳統(tǒng)文化中家喻戶曉的《西游記》人物孫悟空,以他學(xué)習(xí) Hibernate為主線,以為花果山實現(xiàn)信息化為案例,帶領(lǐng)讀者逐步領(lǐng)略Hibernate技術(shù)的種種神通妙用?! ≌莆誋ibernate真的不難!《Java開發(fā)專家·Hibernate逍遙游記》以通俗易懂的語言介紹Hibernate的主要技術(shù)及對象-關(guān)系映射的核心思想?! ?yīng)用Hibernate真的很簡單!《Java開發(fā)專家·Hibernate逍遙游記》將理論與實踐相結(jié)合·列舉大量具有典型性和實用價值的Hibernate應(yīng)用實例·并提供詳細的開發(fā)和部署步驟。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Hibernate逍遙游記 PDF格式下載


用戶評論 (總計11條)

 
 

  •   此書提綱攜領(lǐng),對暫時不需要了解詳細編程細節(jié)的讀者來說,提供了一個大致的框架,而不會被大量細節(jié)淹沒
  •   書籍對初學(xué)者來說是本很好的入門書籍,一個項目貫穿整本書。初學(xué)者建議購買。
  •   書內(nèi)容寫得很通俗易通,適合新手學(xué)習(xí)哈
  •   寫的不錯,讀起來也挺好的
  •   有點簡單,和企業(yè)級開發(fā)還是有點差別,希望深奧點,謝謝。
  •   通俗易懂,適合初學(xué)者,作者用心寫的,非一般拼湊書籍能比的。
  •   看了一邊感覺知識提煉的很不錯
    還是推薦一下吧
  •   講得淺顯易懂,不錯!
  •   一本深奧看不懂的書,不如一本淺顯易懂的.這本書容易懂
  •   根本是把之前的那本精通Hibernate稍微改一下就拿出來賣,一點新意都沒有,而且錯漏很多。還騙人說是結(jié)合了西游記孫悟空的故事,結(jié)果只是把孫悟空當(dāng)成一個猴子在耍,爛書一本。
  •   以前看過作者的書,感覺還不錯,講解深刻。這次以為作者會像大話設(shè)計模式那種風(fēng)格。拿到后很失望??傆X得作者有點弄巧成拙的感覺。
 

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

京ICP備13047387號-7