Yang sesuai adalah HQL
select header.advmagencymaster.mamaid,
header.advmagencymaster.mamaname,header.trohiono
from ADVRoheader header
Tetapi Di HQL lebih baik untuk mengambil seluruh objek sehingga kita dapat menggunakan properti lain juga
from ADVRoheader header
inner join
header.advmagencymaster master
HQL tidak tergantung pada database yang mendasarinya. Ini akan sama untuk semua database (Oracle, MySQL, SQL server dll). hanya Kita perlu mengubah koneksi Database di file konfigurasi utama.
Kelas model Anda akan terlihat seperti ini
class ADVMAgencyMaster{
private String mamaid;
private String mamaname; //getters and setters
}
class ADVRoheader{
private String trohiono;
private ADVMAgencyMaster advmagencymaster; // Reference to the ADVMAgencyMaster
//getters and setters}
Anda Sudah mendefinisikan banyak ke satu relasi di xml
<many-to-one name="advmagencymaster" class="com.adv.hibernatebean.ADVMAgencyMaster" fetch="select"> <column name="TROHAMAID" /></many-to-one>
Jadi saat Memuat objek ADVRoheader hibernate akan memuat referensi objek dalam "advmagencymaster" juga.
untuk ini, Anda perlu menentukan lazy="false" alih-alih fetch="select".
lazy="true" - lazy loading hanya akan memuat objek induk
lazy-"false" - bersemangat memuat itu akan memuat objek anak (dalam) juga dengan objek induk.
tambahkan kedua file hbm.xml ke file konfigurasi utama (hibernate.cfg.xml) sebagai berikut
<mapping resource="com/ADVRoheader.hbm.xml"></mapping>
<mapping resource="com/ADVRomaster.hbm.xml"></mapping>
tepat sebelum tag penutup pabrik sesi di sini pemetaan terjadi dengan Database.
Biasanya untuk elemen generator kita perlu menggunakan tipe integer dan membuat perubahan di database juga.
Pemfilteran ekstra, kita dapat menambahkan klausa 'di mana' setelah kueri utama. Di sini hanya kondisi bergabung yang diperlukan dan sudah ditangani oleh hibernasi.