理解JPA和Hibernate中的mappedBy
在Java Persistence API(JPA)和Hibernate中,mappedBy是一個至關重要的註解,它有助於管理實體之間的雙向關係。它有兩個主要目的:
1。指示關係的反面:
mappedBy 標識不擁有該關係的實體。它指定應使用該實體中的哪個屬性來存取相關屬性。這在兩個實體相互引用的雙向關係中特別有用。
2.消除外鍵約束:
與建立外鍵關係的傳統方法不同,mappedBy 允許您定義關係而無需物理添加外鍵列。相反,它利用另一個實體上現有外鍵的存在。
在雙向關係中使用mappedBy:
為了說明mappedBy 的用法,請考慮提供的範例:
<code class="java">@Entity @Table(name="Airline") public class Airline { // ... Other fields ... @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "IDAIRLINE") private Set<AirlineFlight> airlineFlights; }</code>
AirlineFlight.java:
<code class="java">@Entity @Table(name="AirlineFlight") public class AirlineFlight { // ... Other fields ... @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "IDAIRLINE") private Airline airline; }</code>
以上是JPA 和 Hibernate 中「mappedBy」在管理雙向關係方面的作用是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!