Dari Spesifikasi EJB3.0 :
Penggunaan elemen penjelasan kaskade dapat digunakan untuk menyebarkan efek operasi ke entitas terkait. Fungsionalitas kaskade paling sering digunakan dalam hubungan orangtua-anak.
Jika X adalah entitas yang dikelola, operasi penghapusan menyebabkannya dihapus. Operasi penghapusan dibuatkan ke entitas yang dirujuk oleh X, jika hubungan dari X ke entitas lain ini dijelaskan dengan kaskade = HAPUS atau kaskade = SEMUA nilai elemen penjelasan.
Jadi singkatnya, hubungan entitas yang didefinisikan dengan CascadeType.All
akan memastikan bahwa semua peristiwa kegigihan seperti bertahan, menyegarkan, menggabungkan dan menghapus yang terjadi pada orang tua, akan diteruskan ke anak. Menentukan CascadeType
opsi lain memberikan pengembang dengan tingkat kontrol yang lebih rinci tentang bagaimana asosiasi entitas menangani kegigihan.
Sebagai contoh jika saya memiliki buku objek yang berisi daftar halaman dan saya menambahkan objek halaman dalam daftar ini. Jika @OneToMany
anotasi yang mendefinisikan hubungan antara Buku dan Halaman ditandai sebagai CascadeType.All
, mempertahankan Buku akan menyebabkan Halaman juga tetap ada di database.