"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Qu'est-ce que le «côté« Side \ »\» dans les relations ORM bidirectionnelles et pourquoi est-ce important?

Qu'est-ce que le «côté« Side \ »\» dans les relations ORM bidirectionnelles et pourquoi est-ce important?

Publié le 2025-03-22
Parcourir:167

What is the \

Comprendre le "côté propriétaire" dans Orm Mapping

dans la cartographie relationnelle des objets (ORM), les relations bidirectionnelles entre les entités nécessitent le concept d'un "côté propriétaire" pour assurer le comportement de la base de données. Côté

Le côté propriétaire d'une relation bidirectionnelle fait référence à l'entité qui "possède" la contrainte de clé étrangère dans la base de données. Cela signifie que les mises à jour de la relation sont uniquement suivies et persistantes à travers le côté propriétaire.

Justification pour posséder le côté

les bases de données relationnelles prennent en charge les relations unidirectionnelles par le biais de touches étrangères. Pour mettre en œuvre des relations bidirectionnelles, des orms comme Hibernate créent des tables d'association supplémentaires ou maintenez une table de jointure pour représenter la relation. Le concept de possession de côté garantit qu'un seul côté de la relation est suivi et mis à jour, empêchant les incohérences potentielles de données. Département de classe publique { @Onetomany (maptedby = "département") Liste privée Employés; } @Entité Employé de classe publique { @Manytoone Département privé; }

Dans cet exemple, le département est le côté propriétaire car il possède la clé étrangère de département_id dans la table des employés. L'ajout ou la suppression d'un employé du domaine du département du département créera ou supprimera automatiquement la référence des clés étrangères dans la table des employés.

Relation un à un:

@ entité classe publique Personne { @OneToOne (maptedBy = "Person") passeport privé; } @Entité Passeport de classe publique { @Onetoone personne privée; }

Dans ce cas, le côté propriétaire n'est pas explicitement spécifié. Hibernate l'infère en fonction de l'ordre d'annotation. La personne devient le côté propriétaire car il apparaît d'abord et possède la clé étrangère personnelle dans la table des passeports.

@Entity
public class Department {
    @OneToMany(mappedBy = "department")
    private List employees;
}

@Entity
public class Employee {
    @ManyToOne
    private Department department;
}

@ entité classe publique Cart { @Onetomany (mappedby = "cart") LISTE PRIVATE Produits; } @Entité Produit de classe publique { @Manytoone chariot privé; }

Semblable à l'exemple un à plusieurs, CART est le côté propriétaire car il possède la clé étrangère CART_ID dans le tableau des produits. Il garantit l'intégrité des données et empêche les tables de base de données inutiles et la duplication de données. En sachant quel côté de la relation est le côté propriétaire, les développeurs peuvent éviter les incohérences et maintenir une représentation cohérente des données dans l'application et la base de données.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3