延續前文,討論 hbm.xml 與 Annotations 優缺點及效能比較,助您選擇適合專案的映射策略。
Hibernate.cfg.xml)。前兩點現代 IDE 可緩解,但對初學者仍是門檻。
測試環境:AMD Athlon 2000+、784MB RAM、三星 SP0812N 硬碟。移除 hibernate.hbm2ddl.auto=update。測試程式碼相同,僅映射方式不同。各測試執行 3 次取中間值。
| 指標 | Annotations | XML | 說明 |
|---|---|---|---|
| Init time | 2444 ms | 2431 ms | 初始化幾乎相同 |
| Last time | 62 ms | 85 ms | Annotations 較快 |
| Total time | 2506 ms | 2516 ms | XML 略慢 |
| 指標 | Annotations | XML | 說明 |
|---|---|---|---|
| Init time | 2437 ms | 2422 ms | |
| Last time | 438 ms | 484 ms | 有時間差 |
| Total time | 2875 ms | 2906 ms | XML 總體慢 |
| 指標 | Annotations | XML | 說明 |
|---|---|---|---|
| Init time | 2453 ms | 2469 ms | |
| Last time | 469 ms | 656 ms | 有時間差 |
| Total time | 2922 ms | 3125 ms | XML 總體慢 |
初始化幾乎相同,資料操作上 Annotations 持續領先數十毫秒。在計算機領域這差距顯著。若映射檔建立後極少變動,Annotations 在開發效率、維護性、效能上全面優勝。唯映射頻繁變動(如欄位長度常調整)時,XML 仍有優勢。請根據專案特性正確選擇。