簡單講述Hibernate基礎(chǔ)
Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate基礎(chǔ),包括介紹使用容器管理的數(shù)據(jù)源等方面。
1.使用容器管理的數(shù)據(jù)源
在包含JNDI服務(wù)器的環(huán)境中運(yùn)行時(shí),Hibernate可以通過JNDI查詢找到數(shù)據(jù)源.必須使用Hibernate.connection.datasource屬性指定JNDI名稱.通常只需要設(shè)置datasource屬性
JDBC和DataSource比較
◆datasource包括了jdbc
◆datasource實(shí)現(xiàn)了 pool 功能,而jdbc沒有
◆datasource實(shí)現(xiàn)了分布式的XA,而jdbc沒有
2.Hibernate基礎(chǔ)之會(huì)話工廠
會(huì)話工廠中有一個(gè)重要的方法是close(). Close()方法釋放會(huì)話工廠使用并提供給session對(duì)象的所有資源信息.因此,在調(diào)用這個(gè)方法關(guān)閉會(huì)話工廠之前,一定要關(guān)閉所有相關(guān)聯(lián)的<session>對(duì)象.
在會(huì)話工廠關(guān)閉之時(shí),它銷毀實(shí)體持久化器和集合持久化器的緩存,還銷毀查詢緩存和時(shí)間戳緩存.然后,會(huì)話工廠關(guān)閉JDBC連接提拱者,并且從它的JNDI對(duì)象工廠綁定中刪除當(dāng)前的實(shí)例。
- Public void close() throws hibernateException
Hibernate開發(fā)者將他們的SessionFactory接口的實(shí)現(xiàn)設(shè)計(jì)為可在多線程應(yīng)用程序中使用.
3.Hibernate基礎(chǔ)之sql方言
◆mySQL5 MySQL5Dialect
◆Oracle9i Oracle9Dialect
4.hibernate中對(duì)象的三種狀態(tài):
◆瞬時(shí),瞬態(tài)或者自由態(tài)
◆持久化狀態(tài)
◆分離狀態(tài),脫管狀態(tài)或者游離態(tài)
5.Hibernate基礎(chǔ)之inverse
inverse僅涉及如何保存實(shí)體之間的外鍵關(guān)系.它們對(duì)于如何保存實(shí)體本身并無影響.人們常常把它與實(shí)際上完全無關(guān)的級(jí)聯(lián)功能相混淆. Inverse是hibernate雙向關(guān)系中的基本概念。
【編輯推薦】