Terakhir, kita akan membuat pemetaan parent-child. Ini merupakan pemetaannya yang sering kita gunakan. Pemetaan ini biasanya berbentuk one-to-many. Sisi one menentukan kondisi sisi many. Bila terjadi save, update, atau delete pada sisi one, maka sisi many akan terpengaruh.
Sebagai contoh, kita akan menggunakan relasi parent-child ini pada hubungan antara Author dan Article. Bila Author dihapus, maka seluruh Article yang pernah ditulisnya juga akan ikut terhapus.
Untuk mengaktifkan parent-child ini, kita ubah pemetaan di sisi Author sebagai berikut.
public class Author {
@OneToMany(
mappedBy = ”author”,
cascade = CascadeType.ALL
)
@OrderBy("publishDate")
private List<Article> articles
= new ArrayList<Article>();
}
Pada contoh di atas, kita mengaktifkan fitur cascade untuk semua jenis operasi, yaitu save, update, dan delete. Bila kita hanya ingin cascade untuk operasi save dan delete, anotasinya menjadi seperti ini.
public class Author {
@OneToMany(
mappedBy = ”author”,
cascade = {CascadeType.PERSIST, CascadeType.REMOVE}
)
@OrderBy("publishDate")
private List<Article> articles
= new ArrayList<Article>();
}
Tidak ada komentar:
Posting Komentar