理解ORM 映射中的「擁有者」
在物件關係映射(ORM)中,「擁有方」的概念是指管理資料庫中外鍵關係的實體。出現這種情況是因為關係資料庫本質上不支援雙向關係,這與物件導向程式設計不同。
擁有方的必要性
在 ORM 中,擁有方負責透過擁有代表關係中其他實體的外鍵來維護關係的完整性。如果沒有所有權方,關係的每一方都需要外鍵,從而導致不必要的關聯表和潛在的資料重複。
不同關係類型中的所有權
範例:與擁有方的一對多映射
考慮以下Java 範例:
@Entity public class Person { @Id private Long id; @OneToMany(mappedBy = "person") private List<IdDocument> idDocuments; } @Entity public class IdDocument { @Id private Long id; @ManyToOne private Person person; }
在此範例中, Person 是擁有方,因為它包含引用IdDocument 表的外鍵。 IdDocument中的mappedBy屬性表示該關係由擁有方管理。
使用mappedBy的含義
在非擁有方使用mappedBy轉移了管理與擁有方的關係。這表示:
以上是物件關係映射 (ORM) 中的「擁有者」是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!