什么是Hibernate
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的JaveEE架構中取代CMP,完成數據持久化的重任。
什么是ORM
對象關系映射(英語:Object Relation Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術,用於實現面向對象編程語言里不同類型系統的數據之間的轉換。
對象-關系映射,是隨着面向對象的軟件開發方法發展而產生的。面向對象的開發方法是當今企業級應用開發環境中的主流開發方法,關系數據庫是企業級應用環境中永久存放數據的主流數據存儲系統。對象和關系數據是業務實體的兩種表現形式,業務實體在內存中表現為對象,在數據庫中表現為關系數據。內存中的對象之間存在關聯和繼承關系,而在數據庫中,關系數據無法直接表達多對多關聯和繼承關系。因此,對象-關系映射(ORM)系統一般以中間件的形式存在,主要實現程序對象到關系數據庫數據的映射。ORM模型的簡單性簡化了數據庫查詢過程。使用ORM查詢工具,用戶可以訪問期望數據,而不必理解數據庫的底層結構。
ORM工具將以面向對象方式對持久化對象的增刪改查操作,轉化對應的SQL操作進行數據庫的操作。
ORM基本映射方式:
1.數據庫表映射類:持久化類被映射到一個數據庫表,程序使用這個持久化類來創建實例、修改屬性、刪除實例時,系統會自動轉換為對這個表進行CRUD操作。
2.數據表的行映射對象:持久化類會生成很多實例,每個實例對應數據表中的一行記錄。
3.數據表的列映射對象屬性:當程序修改某個持久化對象的指定屬性時,ORM將會轉換成對對應數據表中指定數據行、指定列的操作。
為什么使用Hibernate框架
原因:
- Hibernate對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。
- Hibernate是一個基於JDBC的主流持久化框架,是一個優秀的ORM實現,它很大程度的簡化了dao層編碼工作。
- 總結:Hibernate是企業級開發中的主流框架,映射的靈活性很出色。它支持很多關系型數據庫。
Hiberate框架學習目標
總結為:
- 掌握Hiberate的基本配置——即搭建Hiberate開發環境
- 掌握Hiberate常用API——即如何使用Hiberate框架進行開發
- 掌握Hiberate的關聯映射——解決表與表之間存在的關系問題,有1:n(一對多)、 1:1(一對一)、m:n(多對多)關系
- 掌握Hiberate的檢索方式——即掌握Hiberate的查詢
- 掌握Hiberate的優化方式——即提高Hiberate的效率