Superkelas entitas dibuat secara implisit?

Saya memiliki Entitas, Pelanggan, yang memperluas Entitas superkelasnya, Pengguna. Pengguna memiliki tipe Warisan BERGABUNG dan berisi kolom kunci utama.

Jika saya membuat dan mempertahankan instance Pelanggan, apakah secara implisit akan membuat dan mempertahankan instance Pengguna yang sesuai? Jika tidak, bagaimana cara membuat dan mempertahankan instance Pelanggan dengan benar?


person chRyNaN    schedule 02.04.2015    source sumber
comment
apakah kamu menggunakan hibernasi.?   -  person Saif    schedule 02.04.2015
comment
Tidak, saya tidak menggunakan hibernasi. Hanya JPA.   -  person chRyNaN    schedule 02.04.2015
comment
Bisakah Anda memberikan beberapa contoh kode/anotasi yang digunakan dalam entitas dan memberi tahu kami apakah itu berfungsi atau tidak?   -  person Aninda Bhattacharyya    schedule 02.04.2015
comment
Warisan yang bergabung berarti ada dua tabel yang mewakili subkelas. Jadi ketika Anda mempertahankan Pelanggan, JPA akan menyisipkan baris ke dalam semua tabel induk yang bersama-sama membentuk instance Pelanggan.   -  person Chris    schedule 02.04.2015
comment
@Chris jadi jawaban atas pertanyaan saya adalah: ya itu akan membuat dan mempertahankan instance superclass juga?   -  person chRyNaN    schedule 02.04.2015
comment
Tidak juga, karena Anda menyebutnya beberapa instance, tidak ada 'instance' superclass. Pelanggan adalah Pelanggan dan Pengguna - hanya ada satu contoh. Pada tingkat database, instance pelanggan Anda akan dipetakan ke dua tabel, dan keduanya akan memiliki baris untuk mendukung instance pelanggan ini. Saya ingin memperjelas karena beberapa poster percaya Anda dapat mengubah tipe Java dengan mengganti flag, dll.   -  person Chris    schedule 02.04.2015
comment
Jadi begitu. Saya memahami cara kerja struktur tabel jadi mungkin saya harus mengatakannya secara berbeda. Saya hanya ingin memverifikasi bahwa penyedia persistensi akan menangani pemetaan. Dan tampaknya memang demikian.   -  person chRyNaN    schedule 02.04.2015


Jawaban (1)


Jika semua pemetaan benar maka ini akan berhasil
harap periksa juga @PrimaryKeyJoinColumn (annotation based) ditambahkan di kelas anak

Jika Anda memerlukan informasi lebih lanjut dan bantuan mencari One Table Per Subclass Inheritance, karena Anda menggunakan ini, saya kira.

person Saif    schedule 02.04.2015
comment
Jika tidak ada anotasi PrimaryKeyJoinColumn yang ditentukan untuk subkelas dalam strategi pemetaan GABUNG, kolom kunci asing diasumsikan memiliki nama yang sama dengan kolom kunci utama dari tabel utama superkelas Sumber Oleh karena itu, @PrimaryKeyJoinColumn tidak diperlukan. - person chRyNaN; 02.04.2015