Nod Yatim dalam JPA dengan CascadeType.ALL
Walaupun menggunakan CascadeType.ALL JPA, nod yatim tetap ada dalam pangkalan data, menghalang pemadaman. Untuk menyelesaikan isu ini, terdapat beberapa pendekatan bergantung pada penyedia kegigihan dan versi JPA:
Konfigurasi Hibernate
Jika menggunakan Hibernate, tentukan secara eksplisit anotasi CascadeType.DELETE_ORPHAN dalam sempena JPA CascadeType.ALL:
@OneToMany(cascade = {CascadeType.ALL, CascadeType.DELETE_ORPHAN}) private List<Bikes> bikes;
Penyelesaian JPA (tanpa Hibernate)
Jika tiada Hibernate, padamkan elemen anak secara eksplisit sebelum mengalih keluar rekod induk:
JPA 2.0
JPA 2.0 memperkenalkan atribut orphanRemoval:
@OneToMany(mappedBy="foo", orphanRemoval=true)
Dengan menetapkan orphanRemoval kepada benar, JPA akan memadam rekod anak yatim piatu secara automatik apabila entiti induk dialih keluar.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Nod Yatim dalam JPA dengan CascadeType.ALL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!