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