延遲加載、鎖、proxy、Hibernate中多態的含義如多態查詢、batch_size批次抓取數量、鑒別器
Hibernate關鍵字:inverse、fatch、cascade、lazy
1. private 修飾成員變量時,指定該變量只允許自己類的方法訪問,其他任何類(包括子類)中的方法都不能訪問該變量!
3. 啟動hibernate應用時,會創建一個全局sessionFactory對象,它可以用于打開新的session,一個session代表一個單線程的操作, sessionFactory則四個線程安全的全局對象,創建和銷毀消耗資源很大,所以此實例一般只被創建一次。
4. 我們通常不會操作對象的標志符,因此它的setter()方法應該為private型,這樣當對象保存時,只有hibernate可以為它分配標志符,hibernate可以直接訪問PO的public、private和protected域和方法。
5. 關于SessionFactory().getCurrentSession()
它返回當前工作單元的一個session,并被hibernate綁定到當前線程,當事務結束后,不管是提交還是回hibernate總會把Session從當前線程中脫離出來,并且關掉它。假如你再次調用getCurrentSession()你會得到一個新的session,并且開始一個新的工作單元。這種線程綁定的編程模式是hibernate的最廣泛的模式。
6. 若hibernate定義對象的生成策略為native,則數據庫表此ID字段必須設為identify類型;若...increment,則...不能設為identify類型。道理很明白,自己想。
7. 主鍵表VS外鍵表:我必須存在,然后才可能有你,如班級 VS 學生,班級必須先存在,才有某個學生,那么班級表是主,主鍵表;外鍵表,這個表中存在外鍵,eg. 學生表中有字段classId,為外鍵,所以叫外鍵表。
--------------------------------------
二、持久化類
1. 為了讓hibernate工作得更好,持久化類應該遵循一定的規則,這些規則也被稱為簡單傳統的JAVA編程模式POJO,但這些規則并不是必須的,實際上hibernate幾乎不對持久化類做任何設想。
2. 所有的持久化類必須有一個無參的構造函數,這樣hibernate可以利用反射機制PO.newInstanse()來實例化PO對象
3. 代理是hibernate一個很重要的功能,它能延遲關聯加載?
4. lazy="false"所有的延遲加載全部被禁用。延遲加載(fatch)?
--------------------------------------
Hibernate提供了完善的按條件查詢(query by criteria)和按樣例查詢(query by example)的功能。你也可以用原生SQL描述查詢,Hibernate另外提供了將結果集轉化為對象的支持。
-----------------------------------------------
三、hibernate_reference目錄結構
第一章 Hibernate入門
通過一個基于駐留內存式數據庫的hibernate程序來講解hibernate應用開發的大致流程。仔細閱讀本章內容可以記住很多經常用到的東西。
第二章 體系結構
從很高的角度看hibernate的結構,可以從中學到一些名詞概念性的東西。
第三章 配置
將的是hibernate.config.xml文件常用屬性的配置,及一些可選配置(至少100多項里!)
第四章 持久化類
POJO的設計,有很多以前沒見過的東西,比方實現繼承。了解它可以滿足一些特殊場合的應用。
第五章 對象/關系數據庫映射基礎
一直到第九章講得都是*.hbm.xml映射文件的配置,詳細的講解了各個元素的意義,詳細的介紹了各種關聯關系的映射策略。本章介紹的是對一個普通的表的映射。
第六章 集合類
第七章 關聯關系映射
多對多、一對多、多對一、一對一單向雙向映射。
第八章 組件映射
Component是一個被包含的對象,在持久化的過程中,它被當作值類型,而并非一個實體的引用。
第九章 繼承映射
Hibernate支持三種基本的繼承映射策略:每個類分層結構一張表;每個子類一張表;每個具體類一張表。閱讀這一章內容對于設計數據庫很有用,因為在設計數據庫中會考慮這些繼承關系怎么映射。
第十章 與對象共事
講述了Hibernate對象狀態管理,三種狀態之間的轉換。瞬時、持久化、脫管。
第十一章 事務和并發
第十二章 攔截器與事件
應用程序能夠響應Hibernate內部產生的特定事件,當某事件發生是會出發事先定義好的觸發器。
第十三章 批量處理
針對大批量數據處理的解決方案。
第十四章 HQL:Hibernate查詢語言
基本的HQL語法,不但要看懂,必須熟練應用。
第十五章 條件查詢
上一章的延伸,多表查詢、投影、排序或分組 and so on。
第十六章 Native SQL查詢
好象是要介紹利用SQLQuery接口實現按SQL語句查詢。
第十七章 過濾數據
聽這個名字也大概知道它的作用,認真讀一下還是知道個大概,只有3頁,還是要讀一下的。
第十八章 XML映射
這是Hibernate3.0一個試驗性特征,就是用xml格式的文件來代替原來的POJO。
第十九章 提升性能
講述了與性能有關的抓取、緩存原理,要看。
第二十章——第二十四章 各類映射實例
講述了多個練習用實例,做為讀完本參考文檔后的鞏固練習。