Understanding MappedBy in JPA and Hibernate
In object-relational mapping (ORM) frameworks like JPA and Hibernate, MappedBy is a useful annotation for establishing bidirectional relationships between entity classes. This annotation is used in the context of one-to-many and many-to-one relationships.
Recommended Usage
The recommended usage of MappedBy is as follows:
Purpose of MappedBy
MappedBy serves several purposes:
Example
In your provided example, Airline owning many AirlineFlights and AirlineFlights belonging to one Airline, MappedBy should be used in the AirlineFlight class as follows:
<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>
In this example, the @MapsId annotation indicates that the IDAIRLINE field in AirlineFlight is used as the foreign key constraint to the Airline entity. By using MappedBy here, you can establish a bidirectional relationship between Airline and AirlineFlight without the need for foreign key constraints in both tables.
The above is the detailed content of How Does `MappedBy` Facilitate Bidirectional Relationships in JPA and Hibernate?. For more information, please follow other related articles on the PHP Chinese website!