- 貫通Hibernate開(kāi)發(fā)
- 李剛等編著
- 2348字
- 2018-12-27 15:41:30
前言
關(guān)系數(shù)據(jù)庫(kù)無(wú)疑是現(xiàn)代數(shù)據(jù)庫(kù)的主流和核心。如何更方便地對(duì)關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行應(yīng)用層面的利用是如今的編程語(yǔ)言(包括Java)急需解決的問(wèn)題。而Hibernate是一種強(qiáng)大的可提供對(duì)象-關(guān)系持久化和查詢服務(wù)的中間件,它可以使你依據(jù)面向?qū)ο蟮脑黹_(kāi)發(fā)持久化類,實(shí)現(xiàn)對(duì)象之間的關(guān)聯(lián)、繼承、多態(tài)、組合、集合等。Hibernate提供了它特有的數(shù)據(jù)庫(kù)查詢語(yǔ)言HQL,這種查詢語(yǔ)言屏蔽了不同數(shù)據(jù)庫(kù)之間的差別,使您可以編寫統(tǒng)一的查詢語(yǔ)句執(zhí)行查詢。
Hibernate版本更新速度很快,但總起來(lái)說(shuō)到目前為止有兩個(gè)階段性的版本:Hibernate 2和Hibernate 3。Hibernate 2系列的最高版本是Hibernate 2.1.8,Hibernate 3系列在編寫本書(shū)時(shí)的最高版本是Hibernate 3.2.3 GA版,GA也就是General Availability,即推薦廣泛使用的版本,但目前使用較多且較穩(wěn)定的版本是Hibernate 3.1.2。所以本書(shū)所有功能和程序依據(jù)Hibernate 3.1.2進(jìn)行。
本書(shū)知識(shí)體系

圖1 本書(shū)的知識(shí)體系
本書(shū)內(nèi)容遵循循序漸進(jìn)的原則,逐步深入,致力于培養(yǎng)一名技術(shù)嫻熟、能上手開(kāi)發(fā)的Hibernate程序員。所以,從章來(lái)看,由淺入深,一步步深入介紹Hibernate;從章內(nèi)的節(jié)來(lái)看,強(qiáng)調(diào)前期專家知識(shí)導(dǎo)學(xué),過(guò)程中的內(nèi)容詳解和例題程序演示,后勤的課程作業(yè)鞏固,力求使讀者能深入扎實(shí)地學(xué)習(xí)Hibernate。
本書(shū)內(nèi)容介紹
本書(shū)共分5篇15章。其中第1篇“Hibernate入門”包括第1章和第2章。第1章首先從對(duì)象持久化講起,引導(dǎo)大家明確什么是對(duì)象關(guān)系映射,對(duì)象關(guān)系映射有什么重要的作用,是Hibernate學(xué)習(xí)前的知識(shí)準(zhǔn)備章節(jié)。第2章主要了解一下Hibernate的發(fā)展歷史、產(chǎn)品情況、主要接口,以及技術(shù)趨勢(shì),使讀者對(duì)這項(xiàng)技術(shù)的背景有一個(gè)簡(jiǎn)單的了解。
第2篇“Hibernate開(kāi)發(fā)快速上手”包括第3章和第4章。第3章主要講解的是用Eclipse進(jìn)行Hibernate應(yīng)用開(kāi)發(fā)時(shí)如何搭建開(kāi)發(fā)環(huán)境,以及Hibernate的安裝與配置。第4章主要通過(guò)一個(gè)最簡(jiǎn)單的Hello World程序,我們來(lái)簡(jiǎn)單了解Hibernate的運(yùn)行機(jī)制,使讀者對(duì)Hibernate有一個(gè)初步的概念認(rèn)識(shí)。
第3篇“Hibernate應(yīng)用開(kāi)發(fā)”包括第5章、第6章、第7章、第8章、第9章、第10章、第11章和第12章。第5章詳細(xì)介紹了Hibernate的映射文件的定義以及Hibernate的基本映射類型和用戶自定義映射類型,目的是使讀者對(duì)Hibernate映射文件這一Hibernate的核心基礎(chǔ)文件盡數(shù)理解和掌握。
第6章將在回顧持久化類的概念的基礎(chǔ)上,重點(diǎn)講解持久化類的實(shí)例——持久化對(duì)象(或者更精確地講是Hibernate對(duì)象,因?yàn)槌志没惖膶?shí)例并非都處于持久化狀態(tài))的狀態(tài)和Hibernate的緩存機(jī)制,目的是使讀者能夠了解和掌握Hibernate的運(yùn)行機(jī)制,從而為以后各章的學(xué)習(xí)奠定基礎(chǔ)。
第7章主要介紹集合類映射,這是下一章進(jìn)行關(guān)聯(lián)關(guān)系映射學(xué)習(xí)的基礎(chǔ),在關(guān)聯(lián)關(guān)系映射中,用來(lái)映射多對(duì)一、多對(duì)多關(guān)系時(shí),都需要用到集合類映射的知識(shí)。第8章將首先從數(shù)據(jù)庫(kù)和類的角度介紹實(shí)體或類之間的關(guān)聯(lián)關(guān)系,然后基于這樣的基礎(chǔ),來(lái)詳細(xì)介紹單向以及雙向的“多對(duì)一”、“一對(duì)一”、“多對(duì)多”關(guān)聯(lián)。
第9章首先介紹了在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中如何定義實(shí)體之間的繼承關(guān)系,在此基礎(chǔ)上詳細(xì)講解了Hibernate映射繼承關(guān)系的三種策略并進(jìn)行了對(duì)比。第10章將講解如何將組件、組件集合、作為聯(lián)合主鍵的組件映射到關(guān)系數(shù)據(jù)庫(kù)中。
第11章主要介紹了HQL查詢語(yǔ)言的使用,重點(diǎn)講解了select子句、from子句、where子句、order by子句、group by子句、子查詢、批量的update和delete的使用。這一章旨在讓初學(xué)者掌握HQL查詢語(yǔ)言,了解HQL與SQL的區(qū)別。學(xué)習(xí)完本章后,應(yīng)當(dāng)對(duì)HQL查詢語(yǔ)言有所了解,并且能夠正確熟練地書(shū)寫HQL語(yǔ)句。
第12章介紹了數(shù)據(jù)庫(kù)事務(wù)、事務(wù)隔離級(jí)別、悲觀鎖和樂(lè)觀鎖的概念,并且介紹了在應(yīng)用程序中聲明事務(wù)邊界、設(shè)置數(shù)據(jù)庫(kù)的事務(wù)隔離級(jí)別以及運(yùn)用悲觀鎖和樂(lè)觀鎖的方法。
第4篇“Hibernate框架集成”包括第13章和第14章。第13章簡(jiǎn)單介紹Hibernate框架與Struts以及StrutsMenu等框架或工具的集成,通過(guò)這樣的集成,我們可以更好地發(fā)揮Hibernate的作用,同時(shí)也可以吸取其他框架的優(yōu)秀元素,在此基礎(chǔ)上根據(jù)需要搭建我們自己的開(kāi)發(fā)框架。第14章將對(duì)Spring框架進(jìn)行簡(jiǎn)要介紹,然后給出Hibernate框架和Spring框架的集成策略,并結(jié)合Struts 2給出集成的實(shí)例。
第5篇“項(xiàng)目實(shí)戰(zhàn)”為第15章。第15章將基于Hibernate與Struts框架講解一個(gè)科研項(xiàng)目管理系統(tǒng)的綜合實(shí)例,該系統(tǒng)基于B/S架構(gòu),實(shí)現(xiàn)對(duì)兩類科研項(xiàng)目的內(nèi)容以及成員的增加、修改、刪除以及查詢等操作。
技術(shù)支持
希賽是中國(guó)領(lǐng)先的互聯(lián)網(wǎng)技術(shù)和IT教育公司,在互聯(lián)網(wǎng)服務(wù)、圖書(shū)出版、人才培養(yǎng)方面,希賽始終保持IT業(yè)界的領(lǐng)先地位。希賽對(duì)國(guó)家信息化建設(shè)和軟件產(chǎn)業(yè)化發(fā)展具有強(qiáng)烈的使命感,利用希賽網(wǎng)(www.csai.cn)強(qiáng)大的平臺(tái)優(yōu)勢(shì),加強(qiáng)與促進(jìn)IT人士之間的信息交流和共享,實(shí)現(xiàn)IT價(jià)值。“希賽,影響IT”是全體希賽人不懈努力和追求的目標(biāo)!
希賽網(wǎng)以希賽顧問(wèn)團(tuán)為技術(shù)依托,是中國(guó)最大的IT資源平臺(tái)。希賽IT教育研發(fā)中心是希賽公司屬下的一個(gè)專門從事IT教育、教育產(chǎn)品開(kāi)發(fā)、教育書(shū)籍編寫的部門,在IT教育方面具有極高的權(quán)威性。在國(guó)家權(quán)威機(jī)構(gòu)發(fā)布的《計(jì)算機(jī)圖書(shū)出版市場(chǎng)綜述》中,稱贊希賽叢書(shū)為讀者所稱道,希賽的圖書(shū)已經(jīng)形成品牌,在讀者心目中具有良好的形象。
本書(shū)由李剛、郭瑩、薛大龍等編著,第9、10、12、13、15章由希賽顧問(wèn)團(tuán)顧問(wèn)、山東省計(jì)算中心高級(jí)工程師李剛編寫;第5、6、7、8章由山東省計(jì)算中心郭瑩高級(jí)工程師編寫;第1、2章由薛大龍高級(jí)工程師編寫;第3、11章由山東輕工業(yè)學(xué)院張曉燕講師編寫;第4章由山東省計(jì)算中心張立東工程師編寫;第14章由山東省計(jì)算中心王明杰工程師編寫。全書(shū)由李剛統(tǒng)稿,薛大龍核稿。張友生、鄧子云、唐平、王勇、梁賽、周泉、米安然、王冀、頓海麗、謝順、唐強(qiáng)、黃婧、張愛(ài)民、周進(jìn)、周玲、黃豪、左南、彭歡、文梅、張小英等參與了本書(shū)的部分編寫工作,以及進(jìn)行了本書(shū)的統(tǒng)稿、編輯、審核、以及源代碼的調(diào)試工作。借此,還向同濟(jì)大學(xué)的馮家麟和山東省計(jì)算中心的楊萍致謝,他們參與了本書(shū)的部分代碼調(diào)試工作。
由于時(shí)間倉(cāng)促和作者的水平有限,書(shū)中的錯(cuò)誤和不妥之處在所難免,敬請(qǐng)讀者批評(píng)指正。有關(guān)本書(shū)的意見(jiàn)反饋和咨詢,讀者可在希賽網(wǎng)社區(qū)(http://bbs.csai.cn)“書(shū)評(píng)在線”中與作者進(jìn)行交流。
本書(shū)配套光盤中的內(nèi)容,讀者也可以在希賽網(wǎng)下載中心(http://data.csai.cn)下載。
李剛
2008年4月于濟(jì)南
- ETL with Azure Cookbook
- TIBCO Spotfire:A Comprehensive Primer(Second Edition)
- 手把手教你玩轉(zhuǎn)RPA:基于UiPath和Blue Prism
- Learning Social Media Analytics with R
- MicroPython Projects
- ROS機(jī)器人編程與SLAM算法解析指南
- 最簡(jiǎn)數(shù)據(jù)挖掘
- 城市道路交通主動(dòng)控制技術(shù)
- 西門子S7-200 SMART PLC實(shí)例指導(dǎo)學(xué)與用
- Implementing Splunk 7(Third Edition)
- 數(shù)據(jù)掘金
- Learn CloudFormation
- Windows Server 2008 R2活動(dòng)目錄內(nèi)幕
- 中文版AutoCAD 2013高手速成
- PowerMill 2020五軸數(shù)控加工編程應(yīng)用實(shí)例