Hibernate注解編程
1、 HelloWorld a) Xml b) Annotction 2、 Hibernate原理模擬-什么是O/RMapping以及為什么要有O/RMapping 3、 常風的O/R框架 4、 Hibernate基礎配置 5、 Hibernate核心接口介紹 6、 對象的三種狀態 7、 ID生成策略 8、 關系映射 9、 Hibernate查詢(HQL) 10、 在Struts基礎上繼續完美BBS2009 11、 性能優化 12、 補充話題
Hibernate提供了完善的按條件(Query By Criteria, QBC) org.hibernate.Criteria接口表示特定持久類的一個查詢。 Criteria 代表一次查詢 Criterion 代表一個查詢條件。 Restrictions 產生查詢條件的工具類。 Criterion 是 Criteria 的查詢條件。Criteria 提供了 add(Criterion criterion) 方法來
Hibernate入門OR映射技術通過HibernateAPI操縱數據庫檢索策略和方式數據庫事務、并發、緩存與性能優化高級配置Hibernate入門案例Hibernate關系數據庫Customer類BusinessService類對象關系型映射Hibernate API Hibernate配置文件Customers表Hibernate入門創建配置文件。
Hibernate中對動態查詢參數綁定提供了豐富的支持,那么什么是查詢參數動態綁定呢?其實如果我們熟悉傳統JDBC編程的話,我們就不難理解查詢參數動態綁定。
Hibernate到底是什么? 它是連接Java應用程序和關系數據庫的中間件; 它對JDBC API進行了封裝,負責Java對象的持久化; 在分層的軟件架構中它位于持久化層,封裝了所有的數據訪問細節,使業務邏輯層可以專注于實現業務邏輯; 它是一種ORM映射工具,能夠建立面向對象的域模型和關系數據模型之間的映射。
Hibernate是什么 連接java應用程序和關系型數據庫的中間件 對JDBC API封裝,負責對象持久化 位于持久化層,封裝所有的數據訪問細節,使業務邏輯層更關注于業務邏輯。 一種ORM映射工具。
與SQL查詢一樣,hql也支持連接查詢,如內連接,外連接和交叉連接.支持的鏈接類型是從ANSI SQL中借鑒來的. 1: inner jion (內連接) 2: left outer join (左外連接) 3: right outer join(右外連接) 4: full join(全連接--不常用) inner jion 可以簡寫為join. 正常情況下必須要建關聯。
最基本的Hibernate3.3.2之JAR包(必要):注意:slf4.jar和slf4j-nop.jar之間的版本需要匹配,如果Hibernate中使用早期的slf4j.jar,可以從slf4j官方網站下載新的JAR包將其置換掉如果要使用Annotation,還需要下面的JAR包:使用javax.persistence下的Annotation可以不依賴Hibernate的JAR包,這樣的話可以切換到其他的ORM框架如果要使用log4j,則需要添加相關的JAR包:當然別忘記了在類路徑下放log4j的配置文件哦
《Hibernate手動配置過程》1.增加JAR支持(以下是必備的Hibernate的jar包支持)將上述jar包拷貝到lib文件夾中。2.寫hibernate配置文件hibernate.cfg.xml(一般將此文件放在src根目錄下)3.寫表對應的實體類(DTO)(例:UserInfo.java)4.寫實體類—表的映射文件*.hbm.xml5.將映射文件(*.hbm.xml)注冊到hibernate.cfg.xml中
實體和數據庫之間存在某種映射關系,hibernate根據這種映射關系完成數據的存取。在程序中這種映射關系由映射文件(*.hbm.xml)或者java注解(@)定義。本文以java注解的形式總結映射關系配置。
數據庫事務與并發。教學內容數據庫事務的概念聲明事務邊界并發問題設置事務隔離級別使用悲觀鎖解決并發問題使用樂觀鎖解決并發問題參考教材:《精通Hibernate:Java對象持久化技術詳解》數據庫事務的概念事務是指一組相互依賴的操作行為,如銀行交易、股票交易或網上購物。事務的成功取決于這些相互依賴的操作行為是否都能執行成功,只要有一個操作行為失敗,就意味著整個事務失敗。
Hibernate檢索對象的方式。教學內容HQL檢索方式QBC檢索方式本地SQL檢索方式參考教材:《精通Hibernate:Java對象持久化技術詳解》Hibernate提供的檢索對象的方式導航對象圖檢索方式根據已經加載的對象,導航到其他對象。
Hibernate的檢索策略。教學內容立即檢索策略延遲檢索策略迫切左外連接檢索策略每種檢索策略的適用范圍在程序中顯式指定迫切左外連接檢索策略參考教材:《精通Hibernate:Java對象持久化技術詳解》CUSTOMERS表和ORDERS表中的記錄運行Query的list()方法ListcustomerLists=session.createQuery("fromCustomerasc").list();假定采用立即檢索策略,運行以上Query的list()方法時,Hibernate將先查詢CUSTOMERS表中所有的記錄,然后根據每條記錄的ID,到ORDERS表中查詢有參照關系的記錄。
域對象在持久化層的四種狀態。教學內容Session的緩存的作用Session清理緩存的時間點對象的臨時狀態、持久化狀態、游離狀態和刪除狀態用Session的update()方法使游離對象轉變為持久化對象參考教材:《精通Hibernate:Java對象持久化技術詳解》理解Session的緩存當Session的save()方法持久化一個Customer對象時,Customer對象被加入到Session的緩存中,以后即使應用程序中的引用變量不再引用Customer對象,只要Session的緩存還沒有被清空,Customer對象仍然處于生命周期中。
第一個Hibernate應用教學目標創建Hibernate的配置文件創建持久化類創建數據庫Schema創建對象-關系映射文件映射文件的文檔類型定義(DTD)把Customer持久化類映射到CUSTOMERS表通過HibernateAPI操縱數據庫用ANT工具管理項目參考教材:《精通Hibernate:Java對象持久化技術詳解》在Java應用中使用Hibernate的步驟創建Hibernate的配置文件創建持久化類創建對象-關系映射文件通過Hibernate API編寫訪問數據庫的代碼
Java對象持久化技術概述; 創建Hibernate應用; 映射一對多關聯關系; 域對象在持久化層的狀態; Hibernate檢索策略; Hibernate檢索方式;; 數據庫事務與并發; 映射組成關系;
域對象在持久化層的四種狀態教學內容Session的緩存的作用Session清理緩存的時間點對象的臨時狀態、持久化狀態、游離狀態和刪除狀態用Session的update()方法使游離對象轉變為持久化對象理解Session的緩存當Session的save()方法持久化一個Customer對象時,Customer對象被加入到Session的緩存中,以后即使應用程序中的引用變量不再引用Customer對象,只要Session的緩存還沒有被清空,Customer對象仍然處于生命周期中。
教學目標創建Hibernate的配置文件創建持久化類創建數據庫Schema創建對象-關系映射文件映射文件的文檔類型定義(DTD)把Customer持久化類映射到CUSTOMERS表通過Hibernate API操縱數據庫
教學內容HQL檢索方式QBC檢索方式本地SQL檢索方式Hibernate提供的檢索對象的方式導航對象圖檢索方式根據已經加載的對象,導航到其他對象。例如,對于已經加載的Customer對象,調用它的getOrders().iterator()方法就可以導航到所有關聯的Order對象,假如在關聯級別使用了延遲加載檢索策略,那么首次執行此方法時,Hibernate會從數據庫中加載關聯的Order對象,否則就從緩存中取得Order對象。