ORM マッピングの「所有側」を理解する
オブジェクト リレーショナル マッピング (ORM) では、「所有側」の概念は次のことを指します。データベース内の外部キー関係を管理するエンティティに。これは、オブジェクト指向プログラミングとは異なり、リレーショナル データベースが本質的に双方向の関係をサポートしていないために発生します。
所有側の必要性
ORM では、所有側は以下の責任を負います。関係内の他のエンティティを表す外部キーを所有することにより、関係の整合性を維持します。所有側がないと、リレーションシップの各サイドに外部キーが必要となり、不必要な関連付けテーブルとデータ重複の可能性が生じます。
さまざまなリレーションシップ タイプでの所有権
例: 所有側との 1 対多マッピング
次の 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; }
この例では、IdDocument テーブルを参照する外部キーが含まれているため、Person が所有側になります。 IdDocument の mappedBy 属性は、関係が所有側によって管理されていることを示します。
mappedBy を使用する場合の影響
非所有側で mappedBy を使用すると、次の責任が移されます。所有者側との関係を管理します。これは、次のことを意味します。
以上がオブジェクト リレーショナル マッピング (ORM) の「所有側」とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。