Di bagian contoh @OneToMany
referensi anotasi JPA :
Contoh 1-59 @OneToMany - Kelas Pelanggan dengan Generik
@Entity
public class Customer implements Serializable {
...
@OneToMany(cascade=ALL, mappedBy="customer")
public Set<Order> getOrders() {
return orders;
}
...
}
Contoh 1-60 @ManyToOne - Kelas Pemesanan Dengan Generik
@Entity
public class Order implements Serializable {
...
@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() {
return customer;
}
...
}
Menurut saya Customer
entitas itu adalah pemilik asosiasi. Namun, dalam penjelasan untuk mappedBy
atribut dalam dokumen yang sama, ada tertulis bahwa:
jika hubungan dua arah, maka setel elemen yang dipetakan oleh sisi terbalik (tidak memiliki) asosiasi ke nama bidang atau properti yang memiliki hubungan seperti Contoh 1-60 tunjukkan.
Namun, jika saya tidak salah, sepertinya dalam contoh, mappedBy
sebenarnya ditentukan pada sisi yang memiliki asosiasi, bukan sisi yang tidak memiliki.
Jadi pertanyaan saya pada dasarnya:
Dalam asosiasi bidirectional (satu-ke-banyak / banyak-ke-satu), entitas mana yang merupakan pemilik? Bagaimana kita dapat menetapkan Satu sisi sebagai pemilik? Bagaimana kita dapat menunjuk sisi Banyak sebagai pemilik?
Apa yang dimaksud dengan "sisi terbalik dari asosiasi"? Bagaimana kita dapat menetapkan Satu sisi sebagai kebalikannya? Bagaimana kita dapat menunjuk sisi Banyak sebagai kebalikannya?