1. 程式人生 > >談談你對Hibernate的理解

談談你對Hibernate的理解

其他 onf 數據庫 配置數據庫連接 hql 通過 成就 建立 span

答:

1. 面向對象設計的軟件內部運行過程可以理解成就是在不斷創建各種新對象、建立對象之間的關系,調用對象的方法來改變各個對象的狀態和對象消亡的過程,不管程序運行的過程和操作怎麽樣,本質上都是要得到一個結果,程序上一個時刻和下一個時刻的運行結果的差異就表現在內存中的對象狀態發生了變化。

2.為了在關機和內存空間不夠的狀況下,保持程序的運行狀態,需要將內存中的對象狀態保存到持久化設備和從持久化設備中恢復出對象的狀態,通常都是保存到關系數據庫來保存大量對象信息。從Java程序的運行功能上來講,保存對象狀態的功能相比系統運行的其他功能來說,應該是一個很不起眼的附屬功能,java采用jdbc來實現這個功能,這個不起眼的功能卻要編寫大量的代碼,而做的事情僅僅是保存對象和恢復對象,並且那些大量的jdbc代碼並沒有什麽技術含量,基本上是采用一套例行公事的標準代碼模板來編寫,是一種苦活和重復性的工作。

3.通過數據庫保存java程序運行時產生的對象和恢復對象,其實就是實現了java對象與關系數據庫記錄的映射關系,稱為ORM(即Object Relation Mapping),人們可以通過封裝JDBC代碼來實現了這種功能,封裝出來的產品稱之為ORM框架,Hibernate就是其中的一種流行ORM框架。使用Hibernate框架,不用寫JDBC代碼,僅僅是調用一個save方法,就可以將對象保存到關系數據庫中,僅僅是調用一個get方法,就可以從數據庫中加載出一個對象。

4.使用Hibernate的基本流程是:配置Configuration對象、產生SessionFactory、創建session對象,啟動事務,完成CRUD操作,提交事務,關閉session。

5.使用Hibernate時,先要配置hibernate.cfg.xml文件,其中配置數據庫連接信息和方言等,還要為每個實體配置相應的hbm.xml文件,hibernate.cfg.xml文件中需要登記每個hbm.xml文件。

6.在應用Hibernate時,重點要了解Session的緩存原理,級聯,延遲加載和hql查詢。

談談你對Hibernate的理解