Hibernate 是一個開源的對象關系映射(ORM)框架,它對 JDBC 進行了極輕量級的封裝,讓開發者能以純面向對象思維操作數據庫。核心價值:
| 階段 | 核心痛點 | 解決方案 |
|---|---|---|
| 原始 JDBC | 大量重復代碼、資源管理易出錯、SQL 與業務邏輯耦合 | 手寫工具類封裝 |
| 封裝 JDBC (JavaBean) | 仍需手寫 SQL、結果集手動映射對象、不同邏輯重復造輪子 | DAO 模式、通用 BaseDAO |
| ORM 階段 | 面向對象與關系數據庫範式不匹配 | 元數據映射配置,自動實現對象↔表轉換 |
通過映射元數據(XML 或註解)建立三者對應關系:
實體類 ←映射配置→ 數據表 ←DDL→ 現實業務實體
關鍵價值:查詢直接返回 List<Entity>,無需手動遍歷 ResultSet 組裝對象。
hibernate.cfg.xml — 數據源、方言、映射文件引用Entity.hbm.xml — 表結構與類屬性、主鍵策略、關聯關系映射官方文檔較厚,建議參考經典教程快速入門:
基礎映射 → 關聯映射(一對多/多對多) → HQL/Criteria 查詢 → 一級/二級緩存機制 → 延遲加載策略 → 鎖機制與併發控制 → 批量操作優化 → 整合 Spring 事務管理 → 性能調優實戰
核心心法:Hibernate 本質是「用配置換代碼」,掌握映射元數據配置細節,理解 Session 生命周期與緩存機制,才是從「會用」到「用好」的分水嶺。