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 l'exemple fourni, la compagnie aérienne possédant de nombreux AirlineFlights et AirlineFlights appartenant à une compagnie aérienne, MappedBy doit être utilisé dans la classe AirlineFlight comme suit :
@Entity
@Table(name="AirlineFlight")
public class AirlineFlight {
// ... other attributes ...
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="IDAIRLINE", nullable=false)
@MapsId
private Airline airline;
// ... other attributes ...
}
Dans cet exemple, 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.
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