Comprendre MappedBy dans JPA et Hibernate
Dans les frameworks de mappage objet-relationnel (ORM) comme JPA et Hibernate, MappedBy est une annotation utile pour établir des relations bidirectionnelles entre les classes d'entités. Cette annotation est utilisée dans le contexte de relations un-à-plusieurs et plusieurs-à-un.
Utilisation recommandée
L'utilisation recommandée de MappedBy est la suivante :
Objectif de MappedBy
MappedBy sert plusieurs objectifs :
Exemple
Dans votre exemple fourni, une compagnie aérienne possédant plusieurs AirlineFlights et AirlineFlights appartenant à une seule compagnie aérienne, MappedBy doit être utilisé dans la classe AirlineFlight comme suit :
<code class="java">@Entity @Table(name="AirlineFlight") public class AirlineFlight { // ... other attributes ... @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="IDAIRLINE", nullable=false) @MapsId private Airline airline; // ... other attributes ... }</code>
Dans cet exemple, le @ L'annotation MapsId indique que le champ IDAIRLINE dans AirlineFlight est utilisé comme contrainte de clé étrangère pour l'entité Airline. En utilisant MappedBy ici, vous pouvez établir une relation bidirectionnelle entre Airline et AirlineFlight sans avoir besoin de contraintes de clé étrangère dans les deux tables.
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!