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