開發者需同時掌握面向對象編程與關系數據庫 SQL,認知切換成本高。
大量 "SELECT * FROM user WHERE id=" + id 硬編碼在 Java 中,降低可讀性、難重構、易出錯。
表結構變更(如欄位重命名)強制修改所有相關 SQL,脆弱性極高,違反開閉原則。
開發者必須同時理解:
• 對象模型(類、屬性、關係)
• 關系模型(表、欄位、外鍵)
• 兩者映射規則
導致無法專注業務邏輯建模。
| JDBC 缺陷 | Hibernate 解決方案 |
|---|---|
| 雙語言 | 只寫 Java,框架生成 SQL |
| SQL 硬編碼 | 映射文件/註解集中管理 |
| 強綁定表結構 | 映射層隔離,表變動只改映射 |
| 非純 OO | 完全面向對象,透明持久化 |
將通過簡單示例演示 Hibernate 如何具體解決上述問題,敬請期待!