Dans le mappage objet-relationnel (ORM), les relations bidirectionnelles entre entités nécessitent une gestion minutieuse pour éviter des boucles infinies ou des états de données incohérents . MappedBy est un attribut dans les annotations JPA et Hibernate qui résout ce problème.
Comprendre le rôle de MappedBy :
MappedBy spécifie quelle entité possède la relation et possède la clé étrangère colonne dans la base de données. Il est appliqué à l'annotation de mappage de l'entité non propriétaire, indiquant que la relation est mappée par la clé étrangère dans la table de l'entité propriétaire.
Recommandations d'utilisation :
Quand définissant une relation bidirectionnelle, il est recommandé de suivre ces directives :
Exemple :
Dans vos entités Airline et AirlineFlight, Airline doit être le propriétaire de la relation. Les annotations correctes seraient :
<code class="java">// Airline.java @OneToMany(mappedBy = "airline") public Set<AirlineFlight> getAirlineFlights() { return airlineFlights; } // AirlineFlight.java @ManyToOne @JoinColumn(name = "IDAIRLINE") public Airline getAirline() { return airline; }</code>
Objectif de MappedBy :
MappedBy sert deux objectifs principaux :
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!