在物件導向設計中,繼承是核心機制之一,ORM 框架必須妥善處理類別繼承關係對應到關聯式資料表的問題。業界公認有三種主要映射模式,各有優缺點,選擇時需根據業務場景權衡。
此模式下,每個具體子類別對應一張獨立資料表,包含父類別與自身的所有屬性欄位。以 Parent 為基類,Child1、Child2 為衍生類為例:
優點:資料零冗餘,儲存空間利用率高。
缺點:若需依父類別條件查詢所有子類別資料,必須對多張表執行 UNION 或多次查詢,當繼承橫向擴展(子類別眾多)時,查詢效能嚴重下降。
每個類別(含父類別)各自對應一張表,父子表透過主鍵/外鍵關聯。例如 Parent 表存放共同屬性,Child1、Child2 表僅存放各自擴充屬性並關聯回 Parent。

優點:資料冗餘最小,符合正規化原則。
缺點:繼承層級愈深、關係愈複雜,SQL 查詢與異動語句愈龐大,維護難度與效能損耗雙增。若類別無繼承關係,上述三種模式退化為相同結構。
除了繼承,真實業務模型大量存在「整體-部分」組合關係。例如 Person 物件包含 Hand(左手/右手)、Head 等子物件。ORM 需支援:
Hand.PersonID 指向 Person.ID)這些組合關係的處理好壞,直接決定 ORM 實用性與效能表現。