ในส่วนตัวอย่างของการ@OneToMany
อ้างอิงคำอธิบายประกอบ JPA :
ตัวอย่าง 1-59 @OneToMany - ระดับลูกค้าพร้อม Generics
@Entity
public class Customer implements Serializable {
...
@OneToMany(cascade=ALL, mappedBy="customer")
public Set<Order> getOrders() {
return orders;
}
...
}
ตัวอย่าง 1-60 @ManyToOne - คลาสคำสั่งซื้อกับ Generics
@Entity
public class Order implements Serializable {
...
@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() {
return customer;
}
...
}
สำหรับฉันแล้วดูเหมือนว่าCustomer
กิจการเป็นเจ้าของสมาคม อย่างไรก็ตามในคำอธิบายสำหรับแอmappedBy
ททริบิวในเอกสารเดียวกันมันเขียนไว้ว่า:
หากความสัมพันธ์เป็นแบบสองทิศทางให้ตั้งค่าองค์ประกอบ mappedBy บนด้านผกผัน (ไม่ใช่เจ้าของ) ของการเชื่อมโยงเป็นชื่อของเขตข้อมูลหรือคุณสมบัติที่เป็นเจ้าของความสัมพันธ์ดังตัวอย่างที่ 1-60 แสดง
อย่างไรก็ตามถ้าฉันไม่ผิดดูเหมือนว่าในตัวอย่างที่mappedBy
ระบุไว้ในด้านความเป็นเจ้าของของสมาคมมากกว่าด้านที่ไม่ใช่เจ้าของ
ดังนั้นคำถามของฉันเป็นพื้น:
ในการเชื่อมโยงแบบสองทิศทาง (แบบหนึ่งต่อกลุ่ม / หลายกลุ่ม) สมาคมใดเป็นเจ้าของกิจการ เราจะกำหนดด้านหนึ่งในฐานะเจ้าของได้อย่างไร เราจะกำหนดด้านหลายด้านในฐานะเจ้าของได้อย่างไร
"ฝั่งตรงกันข้ามของสมาคม" มีความหมายว่าอย่างไร? เราจะกำหนดด้านหนึ่งให้เป็นอินเวอร์สได้อย่างไร เราจะกำหนดด้านหลายด้านให้เป็นอินเวอร์สได้อย่างไร