MappedBy in JPA und Hibernate verstehen
In objektrelationalen Mapping-Frameworks (ORM) wie JPA und Hibernate ist MappedBy eine nützliche Anmerkung für Aufbau bidirektionaler Beziehungen zwischen Entitätsklassen. Diese Annotation wird im Kontext von Eins-zu-Viele- und Viele-zu-Eins-Beziehungen verwendet.
Empfohlene Verwendung
Die empfohlene Verwendung von MappedBy lautet wie folgt:
Zweck von MappedBy
MappedBy dient mehrere Zwecke:
Beispiel
In Ihrem bereitgestellten Beispiel sollte eine Fluggesellschaft, die viele AirlineFlights und AirlineFlights einer Fluggesellschaft besitzt, MappedBy in der AirlineFlight-Klasse wie folgt verwendet werden:
@Entity
@Table(name="AirlineFlight")
public class AirlineFlight {
// ... other attributes ...
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="IDAIRLINE", nullable=false)
@MapsId
private Airline airline;
// ... other attributes ...
}
In diesem Beispiel gibt die @MapsId-Annotation an, dass das IDAIRLINE-Feld in AirlineFlight als Fremdschlüsseleinschränkung für die Airline-Entität verwendet wird. Indem Sie MappedBy hier verwenden, können Sie eine bidirektionale Beziehung zwischen Airline und AirlineFlight herstellen, ohne dass Fremdschlüsseleinschränkungen in beiden Tabellen erforderlich sind.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3