ORM 適用場景:後台維護
- 實體類對應資料表,CRUD 程式碼極簡潔。
- 自動防 SQL Injection,欄位拼裝零負擔。
- 適合「文章發布」等標準後台管理功能。
ORM 痛點:前台複雜查詢
- 列表頁只需標題,ORM 仍查出完整內容 → 效能浪費。
- 多條件篩選(分類、置頂、推薦)、分頁、Top N 查詢,ORM/HQL 表達力不足或生成 SQL 低效。
- 子查詢寫法晦澀難維護。
混合策略:各取所長
- 後台:全面採用 ORM(Castle ActiveRecord/NHibernate)提升開發效率。
- 前台:手寫優化 SQL,僅選取必要欄位,支援複雜篩選。
- 資料存取層封裝:抽象介面同時支援 SQL Server、Access 等多資料庫,標準 SQL 寫法跨平台相容。
結論
不要迷信單一技術,關鍵在於架構清晰、執行效能滿足需求。