我們從幾個方面進行論述Hibernate
When? What ? How?
Hibernate由來是由于當時EJBBean1.1在處理entittBean架構時,花費的時間要比業務邏輯更多而且限制也太多。
Gavin King,1個充滿豪情,脾氣倔強,不言敗的人,在2001花費了兩年時間,開發出了稱為全球流行的O/R Mapping的
工具。
了解了歷史,再看看Hibernate是甚么?
Hibernate是1個對象關系映照(ORM)框架,它對JDBC進行了非常輕量級的對象封裝,使得可使用對象編程思惟
來操縱http://www.vxbq.cn/db/。看到這里應當了解到Hibernate也是1個持久層框架。
ORM的簡單規則:
類跟表對應
類屬性與表字段對應
類實例與表中具體1條記錄對應
1個類可與多個表對應,1個表也可對應多個類
DB中表與表之間的關系(如:外鍵)映照成為Object之間的關系
Hibernate都給我們做了哪些,如何體現它的優點
Hibernate有6大接口
Session、SessionFactory、Transaction、Query、Criteria和Configuration
(圖片引自http://blog.csdn.net/jiuqiyuliang/article/details/39078749)
1Configuration接口:負責配置并啟動Hibernate,創建SessionFactory對象。在Hibernate的啟動的進程中,Configuration類的實例首先定位映照文檔位置、讀取配置,然后創建SessionFactory對象。
2SessionFactroy接口:負責初始化Hibernate。它充當數據存儲源的代理,并負責創建Session對象。
3Session接口:負責履行被持久化對象的CRUD操作(CRUD:增讀更刪)。但需要注意的是Session對象是非線程安全的。因此在設計軟件架構的時候,應當避免多個線程同享1個Session實例。同時,Hibernate的session不同于JSP利用中的HttpSession。
4Query和Criteria接口:Query和Criteria接口負責履行各種http://www.vxbq.cn/db/查詢。它可使用HQL語言或SQL語句兩種表達方式。
5Transaction接口:是Hibernate的http://www.vxbq.cn/db/的http://www.vxbq.cn/db/事務接口,它對底層的事務接口做了封裝。底層事務接口包括:
任何事物都有兩面,Hibernate也不例外
了解了Hibernate的來源,和它的工作原理和優缺點。相信不會再說Hibernate不了解了吧。對ORM的框架,有多種,如:Nhibernate,Entity,EJB.我們首先要了解整體,細節1定會明白的,但是不能1下子就扎進去了。Hibernate簡介你了解么?