Comprendre le « côté propriétaire » dans le mappage ORM
Dans le mappage objet-relationnel (ORM), le concept de « côté propriétaire » fait référence à l'entité qui gère la relation de clé étrangère dans une base de données. Cela est dû au fait que les bases de données relationnelles ne prennent pas automatiquement en charge les relations bidirectionnelles, contrairement à la programmation orientée objet.
Nécessité d'un côté propriétaire
Dans ORM, le côté propriétaire est responsable de maintenir l’intégrité d’une relation en possédant la clé étrangère qui représente l’autre entité dans la relation. Sans côté propriétaire, chaque côté de la relation nécessiterait une clé étrangère, ce qui entraînerait des tables d'association inutiles et une duplication potentielle des données.
Propriété dans différents types de relations
Exemple : mappage un-à-plusieurs avec côté propriétaire
Considérons l'exemple Java suivant :
@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; }
Dans Dans cet exemple, Person est le côté propriétaire, car il contient la clé étrangère qui fait référence à la table IdDocument. L'attribut mappedBy dans IdDocument indique que la relation est gérée par le côté propriétaire.
Implications de l'utilisation de mappedBy
L'utilisation de mappedBy du côté non propriétaire déplace la responsabilité de gérer la relation avec le côté propriétaire. Cela signifie :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!