Hibernate開發(fā)與實戰(zhàn)

出版時間:2009-9  出版社:電子工業(yè)出版社  作者:劉偉,張利國 編著  頁數(shù):441  
Tag標簽:無  

內容概要

本書采用理論闡述、實例項目、視頻講解相結合的方式,全面講解了Hibernate Core、Hibernate Annotations、Hibernate Search、Hibernate EntityManager等內容?! ∪珪?3章。第1~18章,講解Hibernate Core的內容。第19章講解Hibernate Annotations內容。第19章講解Hibernate Anonations和Hibernate EntityManager的內容。第20章講解Hibernate Search的內容。第21章講解Hibernate與Struts 2框架如何進行整合開發(fā)。第22章講解Hibernate與Spring框架如何進行整合開發(fā)。第23章,則詳細講解如何組合運用Hibernate、Struts 2和Spring框架,開發(fā)一個完整的網(wǎng)絡博客系統(tǒng)。  全書結構嚴謹,層次清晰,語言生動,論述精準而深刻,程序實例豐富實用。本書需要讀者具有Java編程語言和HTML的基礎。本書還提供了大量的實例代碼,讀者可以自由使用,這些代碼非常實用,適合解決Hibernate開發(fā)中的實際問題。本書不僅適合用作普通高校或職業(yè)培訓教材,更是Hibernate初學者和開發(fā)者的首選參考書。

書籍目錄

第1章  Hibernate起源 1.1  ORM框架 1.2  ORM核心理念 1.3  持久層概念 1.4  Hibernate  1.4.1  Hibernate Core  1.4.2  Hibernate Annotations  1.4.3  Hibernate EntityManager  1.4.4  Hibernate Search  1.4.5  Hibernate Shards  1.4.6  Hibernate Validator  1.4.7  Hibernate Tools  1.4.8  NHibernate  1.4.9  JBoss Seam 1.5  下載Hibernate 1.6  使用Hibernate的第1個例子  1.6.1  建立guestbook表  1.6.2  新建chapter01_first項目  1.6.3  項目文件列表  1.6.4  編寫hibernate.cfg.xml  1.6.5  編寫Guestbook.java  1.6.6  編寫Guestbook.hbm.xml  1.6.7  HibernateTest.java  1.6.8  運行HibernateTest程序  1.6.9  chapter01_first項目的運行過程第2章  Hibernate的核心接口與類 2.1  Configuration類  2.1.1  Hibernate配置文件  2.1.2  在應用程序中設置新的屬性值  2.1.3  Hibernate的核心配置信息  2.1.4  數(shù)據(jù)庫方言類 2.2  SessionFactory接口 2.3  Session接口  2.3.1  save()方法  2.3.2  get()方法  2.3.3  load()方法  2.3.4  update()方法  2.3.5  delete()方法 2.4  Transaction接口 2.5  Query接口 2.6  Criteria接口 2.7  使用MyEclipse可視化開發(fā)Hibernate實例  2.7.1  設置MyEclipse連接Oracle數(shù)據(jù)庫  2.7.2  新建項目并增加Hibernate開發(fā)支持  2.7.3  自動生成Guestbook類與映射文件  2.7.4  編寫HibernateSessionFactoryUtil.java文件  2.7.5  編寫HibernateTest.java  2.7.6  程序運行結果  2.7.7  使用HQL編輯器調試HQL語句 2.8  Hibernate應用的開發(fā)方式  2.8.1  自底向上,從數(shù)據(jù)庫表到持久化類  2.8.2  自上向下,持久化類到數(shù)據(jù)庫表  2.8.3  從中間出發(fā),向上與向下發(fā)展 2.9  設置Hibernate使用連接池  2.9.1  設置使用Tomcat中的連接池  2.9.2  使用C3P0連接池  2.9.3  使用自定義連接池 2.10  使用C3P0連接池  2.10.1  創(chuàng)建chapter02_c3p0項目  2.10.2  編輯hibernate.cfg.xml文件  2.10.3  chapter02_c3p0項目的運行與輸出 2.11  網(wǎng)絡留言本V2.0  2.11.1  建表  2.11.2  創(chuàng)建guestbookv2.0項目  2.11.3  編寫StringUtil.java文件  2.11.4  為項目添加Hibernate開發(fā)支持  2.11.5  修改hibernate.cfg.xml的內容  2.11.6  生成Guestbook.java與Guestbook.hbm.xml文件  2.11.7  編寫Guestbook在于Dao.java文件  2.11.8   編寫GuestbookDaoHibernate.java文件  2.11.9   編寫HibernateFactorySessionUtil.java  2.11.10  編寫AddMessageServlet.java文件  2.11.11  編寫GetMessagesServlet.java文件  2.11.12  編寫CharacterEncodingFilter.java  2.11.13  修改web.xml文件  2.11.14  編寫header.jsp文件  2.11.15  編寫footer.htm文件  2.11.16  使用JSValidation  2.11.17  使用FCKeditor  2.11.18  編寫addMessage.jsp文件  2.11.19  編寫getMessages.jsp文件  2.11.20  編寫addResult.jsp文件  2.11.21  編寫error404.htm文件  2.11.22  編寫error500.jsp文件  2.11.23  程序運行輸出第3章  標識符屬性生成策略與對象識別 3.1  數(shù)據(jù)庫中的主鍵  3.1.1  自然主鍵  3.1.2  代理主鍵 3.2  標識符屬性 3.3  標識符屬性的生成策略  3.3.1  increment生成策略  3.3.2  identity生成策略  3.3.3  sequence生成策略  3.3.4  hilo生成策略未  3.3.5  seqhilo生成策略  3.3.6  uuid生成策略  3.3.7  guid生成策略  3.3.8  native生成策略  3.3.9  assigned生成策略  3.3.10  foreign生成策略  3.3.11  選擇標識符屬性生成策略 3.4  映射復合主鍵  3.4.1  數(shù)據(jù)準備  3.4.2  使用屬性映射復合主鍵  3.4.3  使用主鍵類映射復合主鍵 3.5  對象識別  3.5.1  Java中的對象識別  3.5.2  識別數(shù)據(jù)庫中數(shù)據(jù)  3.5.3  識別Hibernate中的持久化對象 3.6  Commons lang buider  3.6.1  安裝Commonclipse  3.6.2  使用Commonclipse第4章  持久化對象生命周期 4.1  持久化對象生命周期的狀態(tài)  4.1.1  Transient狀態(tài)  4.1.2  Persistent狀態(tài)  4.1.3  Detached狀態(tài)  4.1.4  Removed狀態(tài)  4.1.5  Session對象的“臟”數(shù)據(jù)檢查 4.2  Session接口的核心方法  4.2.1  saveOrUpdate()方法  4.2.2  merge()方法  4.2.3  flush()方法  4.2.4  close()方法 4.3  不可更改的持久化對象第5章  OSIV與泛型DAO模式 5.1  OSIV模式  5.1.1  使用Servlet過濾器實現(xiàn)OSIV模式  5.1.2  配置web.xml文件 5.2  泛型DAO的設計與實現(xiàn)  5.2.1  編寫泛型DAO接口  5.2.2  編寫泛型DAO的實現(xiàn)類  5.2.3  使用GenericDao接口  5.2.4  使用GenericDaoHibernate類 5.3  網(wǎng)絡留言本V2.1  5.3.1  新建guestbookv2.1項目  5.3.2  建立admin表  5.3.3  文件列表  5.3.4  生成Admin.java與Admin.hbm.xml文件  5.3.5  增加hibernate.cfg.xml文件  5.3.6  編寫AdminDao.java文件  5.3.7  編寫AdminDaoHibernate.java文件  5.3.8  修改GetMessagesServlet.java文件  5.3.9  編寫AdminUserServlet.java文件  5.3.10  編寫AuthenticationFilter.java文件  5.3.11  編寫ManageServlet.java文件  5.3.12  編寫login.jsp文件  5.3.13  修改validation-framework.js文件  5.3.14  修改validation-config.xml文件  5.3.15  編寫loginFail.jsp文件  5.3.16  編寫list.jsp文件  5.3.17  編寫edit.jsp文件  5.3.18  編寫editResult.jsp文件  5.3.19  編寫deleteResult.jsp文件  5.3.20  修改web.xml文件  5.3.21  程序運行結果第6章  Hibernate的集合映射 6.1  Set集合映射  6.1.1  Set接口  6.1.2  Set映射 6.2  List映射  6.2.1  List接口  6.2.2  List映射 6.3  Bag映射 6.4  IdBag映射 6.5  Map映射  6.5.1  Map接口  6.5.2  HashMap  6.5.3  LinkedHashMap  6.5.4  TreeMap  6.5.5  Map映射 6.6  排序集合映射  6.6.1  利用或標簽的sort屬性排序  6.6.2  利用SQL的order by子句排序第7章  組件映射 7.1  組件(Component)映射的單向關聯(lián)  7.1.1  數(shù)據(jù)準備  7.1.2  編寫Profile.java文件  7.1.3  編寫User.java文件  7.1.4  編寫User.hbm.xml文件  7.1.5  編寫HibernateTest.java文件  7.1.6  程序運行輸出 7.2  組件映射的雙向關聯(lián) 7.3  組件集合映射  7.3.1  數(shù)據(jù)準備  7.3.2  編寫Image.java文件  7.3.3  編寫Product.java文件  7.3.4  編寫Product.hbm.xml文件  7.3.5  編寫HibernateTest.java文件  7.3.6  組件集合映射的雙向關聯(lián)第8章  映射多對一及一對多關聯(lián)關系 8.1  多對一單向關聯(lián)  8.1.1  數(shù)據(jù)準備  8.1.2  編寫Category.java與Category.hbm.xml 文件  8.1.3  編寫Product.java與Product.hbm.xml文件  8.1.4  編寫HibernateTest.java文件  8.1.5  outer-join屬性 8.2  一對多單向關聯(lián)  8.2.1  數(shù)據(jù)準備  8.2.2  編寫Product.java與Product.hbm.xml文件  8.2.3  編寫Category.java與Category.hbm.xml文件  8.2.4  編寫HibernateTest.java文件 8.3  級聯(lián) 8.4  一對多雙向關聯(lián)  8.4.1  數(shù)據(jù)準備  8.4.2  編寫Product.java與Product.hbm.xml文件  8.4.3  編寫Category.java與Category.hbm.xml文件  8.4.4  編寫HibernateTest.java文件 8.5  控制反轉(Inverse)第9章  映射一對一關聯(lián)關系 9.1  共享主鍵關聯(lián)  9.1.1  數(shù)據(jù)準備  9.1.2  編寫User.java與User.hbm.xml文件  9.1.3  編寫Profile.java與Profile.hbm.xml文件  9.1.4  編寫HibernateTest.java文件 9.2  唯一外鍵關聯(lián)  9.2.1  準備數(shù)據(jù)  9.2.2  編寫Profile.java與Profile.hbm.xml 文件  9.2.3  編寫User.java與User.hbm.xml文件  9.2.4  編寫HibernateTest.java 文件第10章  映射多對多關聯(lián)關系 10.1  多對多單向關聯(lián)  10.1.1  準備數(shù)據(jù)  10.1.2  編寫Product.java與Product.hbm.xml文件  10.1.3  編寫Order.java與Order.hbm.xml文件  10.1.4  Order與Product的類圖  10.1.5  編寫HibernateTest.java文件 10.2  多對多雙向關聯(lián)  10.2.1  準備數(shù)據(jù)  10.2.2  編寫Order.java與Order.hbm.xml 文件  10.2.3  編寫Product.java與Product.hbm.xml文件  10.2.4  Order與Product類的類圖  10.2.5  編寫HibernateTest.java文件 10.3  在多對多關聯(lián)中使用組件集合映射  10.3.1  準備數(shù)據(jù)  10.3.2  編寫Product.java與Product.hbm.xml 文件  10.3.3  編寫OrderItem.java文件  10.3.4  編寫Order.java與Order.hbm.xml文件  10.3.5  Product、Order與OrderItem的類圖  10.3.6  編寫HibernateTest.java文件 10.4  分拆多對多關聯(lián)為兩個一對多關聯(lián)  10.4.1  數(shù)據(jù)準備  10.4.2  編寫Product.java與Product.hbm.xml文件  10.4.3  編寫OrderItem.java與OrderItem.hbm.xml文件  10.4.4  編寫Order.java與Order.hbm.xml文件  10.4.5  編寫HibernateTest.java文件第11章  Criteria查詢 11.1  準備數(shù)據(jù)  11.1.1  創(chuàng)建guestbook、product和category表  11.1.2  在guestbook、product和category表中添加演示數(shù)據(jù)  11.1.3  實例文件 11.2  Criteria的基本使用  11.2.1  Criteria接口的主要方法  11.2.2  Criterion接口  11.2.3  排序查詢結果  11.2.4  分頁顯示數(shù)據(jù)  11.2.5  查詢一條記錄  11.2.6  通過關聯(lián)對象建立查詢條件  11.2.7  Restrictions類  11.2.8  條件“或”方式組合查詢條件  11.2.9  使用原生SQL語句設置查詢條件  11.2.10  統(tǒng)計函數(shù)查詢  11.2.11  統(tǒng)計函數(shù)組合查詢條件  11.2.12  獲取多個統(tǒng)計函數(shù)的值  11.2.13  分組查詢  11.2.14  分組統(tǒng)計  11.2.15  為分組統(tǒng)計結果指定別名  11.2.16  投影查詢  11.2.17  使用Property類的forName()方法實現(xiàn)分組統(tǒng)計 11.3  使用DetachedCriteria對象實現(xiàn)離線查詢 11.4  根據(jù)示例對象查詢第12章  HQL與Native SQL查詢 12.1  準備數(shù)據(jù) 12.2  Query接口  12.2.1  list()方法  12.2.2  iterate()方法  12.2.3  選擇list()和iterate()方法  12.2.4  使用setMaxResults()和setFirstResult()方法實現(xiàn)分頁  12.2.5  使用uniqueResult()方法讀取唯一記錄 12.3  HQL基礎  12.3.1  查詢所有持久化對象  12.3.2  投影查詢  12.3.3  使用別名  12.3.4  使用distinct關鍵字  12.3.5  限定查詢的條件  12.3.6  數(shù)據(jù)排序  12.3.7  使用參數(shù)占位符  12.3.8  使用統(tǒng)計函數(shù)  12.3.9  使用函數(shù) 12.4  HQL的批量更新 12.5  HQL中的連接查詢  12.5.1  使用交叉連接  12.5.2  使用內連接  12.5.3  使用左外連接  12.5.4  使用右外連接  12.5.5  迫切內連接  12.5.6  迫切左外連接 12.6  命名的HQL 12.7  使用SQL  12.7.1  SQL查詢  12.7.2  SQL更新記錄  12.7.3  SQL刪除記錄  12.7.4  命名的SQL  12.7.5  調用存儲過程 12.8  使用SQLQuery對象實現(xiàn)動態(tài)表映射  12.8.1  準備數(shù)據(jù)  12.8.2  編寫LogInfo.java文件  12.8.3  編寫LogInfo.hbm.xml文件  12.8.4  編寫HibernateTest.java文件 12.9  在Hibernate中調用數(shù)據(jù)庫存儲過程  12.9.1  準備數(shù)據(jù)  12.9.2  調用數(shù)據(jù)庫存儲過程 12.10  在Hibernate中使用JDBC  12.10.1  準備數(shù)據(jù)  12.10.2  調用數(shù)據(jù)庫存儲過程第13章  Hibernate的事務管理 13.1  數(shù)據(jù)庫事務  13.1.1  事務的特性  13.1.2  編程式與聲明式事務  13.1.3  在JDBC中使用事務  13.1.4  并發(fā)訪問數(shù)據(jù)可能引發(fā)的問題  13.1.5  事務隔離級別 13.2  Hibernate中的事務  13.2.1  在Hibernate中事務管理API 13.3  鎖 13.4  Hibernate中的鎖定模式 13.5  悲觀鎖  13.5.1  使用Query對象的setLockMode()方法設置悲觀鎖  13.5.2  使用Sessoin對象的lock()方法設置悲觀鎖 13.6  樂觀鎖  13.6.1  以版本號方式實現(xiàn)樂觀鎖  13.6.2  時間戳實現(xiàn)樂觀鎖第14章  繼承映射 14.1  繼承關系層次一個表  14.1.1  創(chuàng)建delivery表  14.1.2  編寫Delivery.java文件  14.1.3  編寫PostDelivery.java文件  14.1.4  編寫ExpressDelivery.java文件  14.1.5  編寫Delivery.hbm.xml文件  14.1.6  編寫HibernateTest.java文件  14.1.7  繼承關系層次一個表的優(yōu)缺點 14.2  每個具體類一個表  14.2.1  創(chuàng)建post_delivery和express_delivery表  14.2.2  編寫Delivery.java文件  14.2.3  編寫PostDelivery.java文件  14.2.4  編寫ExpressDelivery.java文件  14.2.5  編寫Delivery.hbm.xml文件  14.2.6  編寫HibernateTest.java文件  14.2.7  每個具體類一個表的優(yōu)缺點 14.3  每個子類一個表  14.3.1  創(chuàng)建delivery、post_delivery和express_delivery表  14.3.2  編寫Delivery.java文件  14.3.3  編寫PostDelivery.java文件  14.3.4  編寫ExpressDelivery.java  14.3.5  編寫Delivery.hbm.xml文件  14.3.6  編寫HibernateTest.java文件 14.4  每個子類一個表的優(yōu)缺點 14.5  小結第15章  Hibernate過濾器 15.1  概念 15.2  配置  15.2.1  使用標簽定義過濾器  15.2.2  使用標簽聲明使用過濾器 15.3  調用Hibernate過濾器  15.3.1  Session接口中與Filter對象有關的方法  15.3.2  調用Hibernate過濾器的示例 15.4  小結第16章  數(shù)據(jù)攔截與事件監(jiān)聽 16.1  攔截器  16.1.1  Interceptor接口的方法  16.1.2  使用攔截器實現(xiàn)審計日志 16.2  Hibernate的事件監(jiān)聽  16.2.1  應用Hibernate事件監(jiān)聽器  16.2.2  使用監(jiān)聽器實現(xiàn)審計日志  16.2.3  事件監(jiān)聽與攔截器的比較第17章  Hibernate的緩存 17.1  持久層緩存的概念  17.1.1  持久層緩存的級別 17.2  Hibernate的一級緩存  17.2.1  一級緩存的實現(xiàn)原理  17.2.2  管理一級緩存 17.3  Hibernate的二級緩存  17.3.1  二級緩存的策略  17.3.2  應用EHCache作為二級緩存  17.3.3  緩存集合對象  17.3.4  管理二級緩存 17.4  查詢緩存  17.4.1  查詢緩存的實現(xiàn)原理  17.4.2  使用查詢緩存 17.5  應用memcached作為二級緩存  17.5.1  memcached  17.5.2  Hibernate-memcached  17.5.3  在Hibernate應用中使用memcached 17.6  緩存對get()、load()、list()和iterator()方法的影響 17.7  小結第18章  Hibernate的性能優(yōu)化 18.1  使用dynamic-insert與dynamic-update  18.1.1  應用標簽的dynamic-insert與dynamic-update屬性 18.2  延遲加載  18.2.1  持久化對象的延遲加載  18.2.2  集合對象的延遲加載  18.2.3  屬性的延遲加載  18.2.4  解決org.hibernate.LazyInitializationException違例問題 18.3  集合對象的抓取策略  18.3.1  查詢抓取  18.3.2  子查詢抓取  18.3.3  連接查詢抓取  18.3.4  批量抓取  18.3.5  Hibernate的“1+N”問題第19章  Hibernate Annotations組件 19.1  下載Hibernate Annotations組件 19.2  使用Annotations實現(xiàn)一對多雙向關聯(lián)映射  19.2.1  準備數(shù)據(jù)  19.2.2  在當前項目中添加Hibernate Annotations類庫  19.2.3  編寫Product.java和Category.java文件  19.2.4  編寫hibernate.cfg.xml文件  19.2.5  編寫HibernateTest.java文件 19.3  Hibernate Annotations組件核心注解  19.3.1  注解屬性或者方法  19.3.2  Hibernate Annotations組件核心注解  19.3.3  注解VS映射文件 19.4  Hibernate EntityManager  19.4.1  Java Persistence API  19.4.2  下載Hibernate EntityManager  19.4.3  應用Hibernate EntityManager第20章  Hibernate Search組件 20.1  搜索引擎  20.1.1  全文檢索引擎  20.1.2  目錄索引搜索引擎  20.1.3  元搜索引擎 20.2  Lucene 20.3  Hibernate Search組件  20.3.1  Hibernate Search組件的特點  20.3.2  使用Hibernate Search組件 20.4  使用Luke工具查看索引數(shù)據(jù) 20.5  中文分詞  20.5.1  概念  20.5.2  中文分詞的基本機制  20.5.3  Hibernate Search使用第三方中文分詞組件第21章  Hibernate與Struts 2 21.1  Struts 2框架  21.1.1  Struts 2框架的特點  21.1.2  下載Struts 2 21.2  編寫第1個Struts 2程序  21.2.1  新建Web項目添加Struts類庫  21.2.2  修改web.xml文件配置Struts2的過濾器  21.2.3  編寫login.jsp文件  21.2.4  編寫LoginAction.java文件  21.2.5  編寫loginResult.jsp文件  21.2.6  編寫struts.xml文件  21.2.7  項目部署后的運行效果 21.3  Struts 2的內部結構  21.3.1  Struts 2的處理流程 21.4  網(wǎng)絡留言本V2.2  21.4.1  新建guestbookv2.2項目  21.4.2  所需文件列表  21.4.3  編寫GuestbookAction.java文件  21.4.4  編寫AdminAction.java文件  21.4.5  編寫struts.xml文件  21.4.6  修改web.xml文件  21.4.7  修改addMessage.jsp文件  21.4.8  修改login.jsp文件  21.4.9  部署運行項目第22章  Hibernate與Spring Framework 22.1  Spring簡介  22.1.1  Spring的子模塊  22.1.2  下載Spring 22.2  IoC容器  22.2.1  容器的概念  22.2.2  IoC設計模式  22.2.3  Spring的IoC容器  22.2.4  使用Spring IoC容器示例 22.3  Spring AOP  22.3.1  OOP的不足  22.3.2  AOP技術  22.3.3  Spring AOP  22.3.4  AOP的專有名詞  22.3.5  Spring AOP中的常用通知類型  22.3.6  使用AspectJ 5的注解實現(xiàn)Spring AOP  22.3.7  AspectJ的切入點表達式語法 22.4  Spring對Hibernate的支持  22.4.1  簡化獲取SessionFactory對象  22.4.2  HibernateTemplate類  22.4.3  HibernateDaoSupport類  22.4.4  Spring對事務的支持  22.4.5  聲明式事務的參數(shù)定義  22.4.6  使用Spring注解管理事務的示例 22.5  Guestbook v2.3版  22.5.1  新建Guestbookv2.3項目  22.5.2  文件列表  22.5.3  修改web.xml文件  22.5.4  修改DAO實現(xiàn)類  22.5.5  修改Servlet文件  22.5.6  編寫ApplicationContext.xml  22.5.7  項目運行輸出 22.6  小結第23章  KH網(wǎng)絡博客系統(tǒng) 23.1  系統(tǒng)需求分析  23.1.1  確定用戶  23.1.2  系統(tǒng)功能 23.2  系統(tǒng)設計  23.2.1  系統(tǒng)結構設計  23.2.2  數(shù)據(jù)庫設計  23.2.3  設計域模型  23.2.4  持久層設計  23.2.5  業(yè)務邏輯層設計  23.2.6  表現(xiàn)層的設計  23.2.7  Action類設計  23.2.8  權限控制設計  23.2.9  分頁設計  23.2.10  數(shù)據(jù)校驗設計  23.2.11  訂閱博客功能設計  23.2.12  設置開發(fā)環(huán)境  23.2.13  Java包名與組織結構設計 23.3  編碼實現(xiàn)  23.3.1  創(chuàng)建項目  23.3.2  域模型代碼  23.3.3  持久層的相關代碼  23.3.4  業(yè)務邏輯層的相關代碼  23.3.5  表現(xiàn)層的相關代碼 23.4  部署運行KH網(wǎng)絡博客系統(tǒng) 23.5  小結

章節(jié)摘錄

  第1章 Hibernate起源  1.1 ORM框架  面向對象技術在最近10多年中得到了極大的發(fā)展,現(xiàn)在大多數(shù)企業(yè)系統(tǒng)都是采用面向對象技術進行開發(fā)的,而這些企業(yè)系統(tǒng)均使用關系型數(shù)據(jù)庫永久保存數(shù)據(jù)。在企業(yè)應用系統(tǒng)中,涉及的業(yè)務實體會使用對象和關系數(shù)據(jù)這兩種表現(xiàn)形式,業(yè)務實體在內存中表現(xiàn)為對象,而在數(shù)據(jù)庫中表現(xiàn)為關系數(shù)據(jù)。內存中的對象之間會存關聯(lián)、繼承和多態(tài)等面向對象的特性,而數(shù)據(jù)庫中的數(shù)據(jù)之間則無法直接表達這些特性。因而需要一種神奇的技術,可以實現(xiàn)對象與關系數(shù)據(jù)庫中數(shù)據(jù)之間的自由轉換,而對象/關系映射(Object/Relational Mappin9,ORM)框架的功能正是如此?! ≡陂_發(fā)企業(yè)應用系統(tǒng)中使用ORM框架可以避免直接使用SQL語句對關系型數(shù)據(jù)庫中的數(shù)據(jù)進行操作,而是借用0RM框架把數(shù)據(jù)庫中的數(shù)據(jù)轉換為對象,通過操作這些對象實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的CRUD(Create、Retrieve、Update和Delete)的操作?! ∈褂肙RM框架不僅可以減少代碼編寫的工作量,并且提高了產(chǎn)品質量。因為采用傳統(tǒng)的JDBC編程來訪問數(shù)據(jù)庫,需要在Java程序代碼中嵌入.大量瑣碎且價值不高的代碼,而使用ORM框架后這些代碼的數(shù)量大大減少。同時一個成熟的ORM框架產(chǎn)品不僅把對象與數(shù)據(jù)庫中的數(shù)據(jù)進行映射,解決關系數(shù)據(jù)與對象的不匹配問題,還把面向對象思想貫徹在一個系統(tǒng)的分析、設計、編程及測試等方面,并且為了提高訪問數(shù)據(jù)庫的性能,降低訪問數(shù)據(jù)庫的頻率,引入了多線程、緩存及事務管理等很多細節(jié)技術?! ≡诂F(xiàn)階段在Java領域中已經(jīng)出現(xiàn)了許多優(yōu)秀的ORM框架,因此開發(fā)人員不必自己實現(xiàn)該框架。Java領域中的部分0RM框架如表1-1所示。

編輯推薦

  從開發(fā)到培訓:深知初學者是怎樣起步的,《Hibernate開發(fā)與實戰(zhàn)》對內容進行了精心布局,完全符合初學者的學習路徑。  從書本到實踐:《Hibernate開發(fā)與實戰(zhàn)》在保證知識體系完備、脈絡清晰、論述精準深刻的同時,尤其注重讀者的實際動手能力?! 奈淖值揭曨l:《Hibernate開發(fā)與實戰(zhàn)》精心配備了融入作者多年高端Java職業(yè)教育的心血的教學視頻,使得初學者輕松學到價值不菲的專業(yè)培訓課上學到的知識。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Hibernate開發(fā)與實戰(zhàn) PDF格式下載


用戶評論 (總計29條)

 
 

  •   適合初學者和有一定經(jīng)驗的開發(fā)者學習,對hibernate的一些細節(jié)講解的比較透徹
  •   以前買過一本struts2.1權威指南雖然內容很不錯,但是過于繁多,找不到重點,而且沒有視頻配套看起來比較費力,這個本書由視頻教學這個實在太爽了對我這種剛剛上手hibernate的人來說真是太好了,大大的贊一個
  •   想學Hibernate就買者本書吧,這本書還有視屏,講得很詳細,不會辜負你的希望的。
  •   講解內容循序漸進,知道初學者學習知識的認知方法。書中實例也比較實用,視頻講的比較詳細。
  •   1、講的很明白,一行一行的敲代碼給你看
    2、共享精神毋庸置疑,即便不買也可以在網(wǎng)絡上下到視頻
    3、我個人完全是沖著支持作者而買的書
  •   我大概看過了一遍,很不錯,很適合初學者!
  •   本書很好,還有附帶視頻。好啊...
  •   我是看過了他的視頻才買他的書書也是講的很通俗易懂的棒的!支持
  •   非常喜歡劉偉老師的書,可惜當當發(fā)給我一本舊書,還有一層灰。。。無語了,幸好我要的是內容,不是表面,忍了。。
  •   期待好數(shù)的到來。
  •   這本入門,另外一本精通。
  •   同事女兒上大學,讓我?guī)兔I的
    沒有說不好,呵呵
  •   講得比較全,不過部分講得就講得比較簡單些??!
  •   不錯的一本講Hibernate3.2的書,而且當中也會說一下其他知識,很好!
    但對于標注方式說的內容太少,現(xiàn)在好多公司都已經(jīng)開始流行標注了!
  •   這書吸引人的地方就是他的光盤里的視頻,視頻講解的很清晰,通俗易懂!書的內容有點像講稿,大部分是講的代碼!總體來說還是不錯的!如果已經(jīng)有視頻的可以考慮不買,有點貴!呵呵
  •   剛剛拿到,大概看了看,書的內容比較適合初學者,書的質量不怎么地,很差
  •   昨天收到的 晚上看了4章 感覺還行 適合新手看我要加快速度看完
  •   寫的不錯,初學者適合用
  •   實例較多,但是書看起來有點舊
  •   書的內容很全,就是內容有點舊
  •   我也只當是字典,做項目時,查查書本,想要的知識點還是能找到 
  •   當當服務不錯,頭天晚上訂貨,第二天中午就到貨了,值得表揚!
  •   這本書是我在網(wǎng)上看了好久的,我很喜歡劉老師的java視頻,所以買書支持他,不過出版社也太黑了,用的紙張很差,那么厚的書拿在手里感覺很輕,而且有很大的氣味,這是對劉老師的心血的不尊重,我很氣憤
  •   比較適合初學者入門
  •   范圍挺廣,講的不深,貼得代碼也很多
  •   為什么這么說了,書籍的紙張差很!
    怎么看都不覺得是正版的書籍!
    封面看著花花綠綠的!
    還好內容沒什么大的問題!
  •   書才看,還沒用看完。
  •   拿回來還沒開始看,但是感覺書做的還可以
  •   但紙張?zhí)珷€了。
 

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

京ICP備13047387號-7