50 Pertanyaan & Jawaban Wawancara Hibernasi Teratas [Untuk Pemula & Berpengalaman]
Diterbitkan: 2020-12-15Daftar isi
pengantar
Hibernate adalah teknik open-source ringan di Jawa, di Blog ini, kita akan memahami proses dan mekanisme tentang Hibernate dengan “50 Pertanyaan wawancara Hibernate teratas dengan jawaban.
Apa itu Hibernasi?
Hibernate adalah pemetaan objek-relasional open-source, alat ringan. Ini menyediakan kerangka kerja untuk memetakan model domain berorientasi objek ke database relasional untuk aplikasi berbasis web.
Berikut adalah beberapa pertanyaan yang harus kami tanyakan tentang persyaratan aplikasi sebelum kami mengadaptasi Hibernate:
- Model data mana yang dapat kita gunakan untuk pengembangan proyek baru, desain aplikasi, atau model data?
- Apa tingkat kinerja cache?
- Bagaimana kita bisa mendefinisikan tulisan sederhana atau kompleks?
- Apa gunanya skalabilitas, dan dalam skenario apa kita bisa menggunakannya?
- Dalam skenario apa pembuatan versi basis data otomatis itu penting?
- Apakah kita membutuhkan Kegigihan Relasional untuk JAVA?
- Apa gunanya Dukungan untuk Bahasa Kueri, dan skenario apa yang dapat kita gunakan?
- Apa proses Kegigihan Transparan dan dampaknya terhadap proyek?
Alat ORM
Ini menafsirkan pembuatan data, manipulasi data, dan akses data. Ini adalah pendekatan pemrograman yang memetakan objek ke data yang disimpan dalam database.

Apa itu Kerangka Hibernasi?
Hibernate adalah solusi pemetaan alat ORM berbasis Java objek-relasional. Ini adalah pemetaan objek-relasional yang merupakan prosedur pemrograman untuk memetakan objek model domain aplikasi ke tabel database relasional. Ini mengimplementasikan sumber implementasi Java Persistence API yang memberikan pilihan yang sangat baik sebagai alat ORM dengan keunggulan kopling longgar.
Manfaat Kerangka Hibernasi
- Ringan dengan Kinerja Cepat: Kinerja kerangka kerja Hibernate lincah dengan bantuan cache, yang bekerja secara internal dalam kerangka kerja Hibernate. Cache dalam kerangka Hibernate adalah cache tingkat pertama dan cache tingkat kedua.
- Database Autonomous Query: HQL (Hibernate Query Language) adalah varian berorientasi objek dari SQL. Ini membuat kueri basis data independen tanpa menulis kueri khusus basis data.
- Pembuatan Tabel Otomatis: Kerangka kerja Hibernate memberikan kapasitas untuk menghasilkan tabel database secara otomatis. Tanpa membuat tabel secara manual di database.
- Menyederhanakan Gabung Kompleks: Mengambil data dari tabel agregat mudah dilakukan dalam kerangka kerja Hibernate.
- Mengakomodasi Statistik Kueri dan Status Basis Data: Hibernate memelihara cache Kueri dan memberikan statistik hasil yang cepat.
Arsitektur Hibernasi
Arsitektur Hibernate mengkonsolidasikan banyak objek seperti objek persisten, pabrik sesi, pabrik transaksi, pabrik koneksi, sesi, transaksi.
Arsitektur hibernasi diklasifikasikan menjadi empat lapisan:
- Tingkat aplikasi Java
- Tingkat kerangka kerja hibernasi
- Tingkat API Backhand
- Tingkat basis data
Mengapa kita harus memilih proses Hibernate?
Berikut adalah teknik dan proses di bawah ini yang dapat kita gunakan untuk memilih ketika kita memulai adaptasi proses:
- Hibernate memungkinkan pengembang untuk menentukan bidang jenis versi dalam aplikasi, yang dapat dimodifikasi dalam data waktu nyata; fitur ini memberikan kepada pengguna mereka dapat menyimpan data dan dapat memodifikasinya pada saat yang sama.
- Hibernate mengimplementasikan bantuan untuk anotasi JPA Contoh: @Entity, @Table, @Col, dll.
- Di Hibernate, connection pooling adalah teknik dalam koneksi database ketika kita membuat dan menyimpan di cache oleh alat eksternal, koneksi ini dapat kita gunakan kembali dari cache itu sendiri di masa depan jika kita perlu menggunakan kembali untuk terhubung ke database yang sama di aplikasi kami yang kami buat
- Hibernate memperluas tingkat skalabilitas terbaik di lingkungan apa pun. Ini dapat dipraktikkan untuk semua ukuran proyek, dari aplikasi skala kecil hingga aplikasi yang digunakan oleh jutaan orang.
- Di Hibernate, pembuatan versi basis data adalah alat penting yang mendukung pencegahan perubahan yang dibatalkan secara tidak sengaja oleh pengguna lain. Ini memungkinkan perekaman tipe versi dalam aplikasi. Saat data diperbarui atau disimpan, jenis versi dan stempel waktu, kami juga dapat merekam untuk pelacakan.
- Hibernate mengimplementasikan persistensi transparan, dan pengembang tidak perlu menulis kode secara eksplisit untuk memetakan tupel tabel database ke objek aplikasi selama interaksi dengan RDBMS.
- Di Hibernate, Manajemen transaksi adalah metode untuk menyelesaikan serangkaian pernyataan atau perintah. Di Hibernate, manajemen transaksi dilakukan oleh antarmuka transaksi.
Lima alasan untuk mempertimbangkan Hibernate daripada JDBC
- Ini memecahkan masalah ketidakcocokan kompleks relasional objek:
Ini memberikan solusi cepat dalam bahasa pemrograman berorientasi objek dengan database relasional.
Contoh: Perbedaan dalam tipe data, perbedaan struktural dan integritas, pengecualian manipulatif dan transaksional semuanya dapat menyebabkan ketidakcocokan kompleks objek-relasional.
2. Pemetaan Objek Otomatis:
JDBC dan Hibernate terletak pada fakta bahwa ia mendukung pemetaan objek otomatis.” Persistensi Transparan”, metode ini menyediakan Hibernate untuk menyusun tabel database ke objek aplikasi melalui interaksi.
- Bahasa Kueri Hibernasi (HQL)
Hibernate memelihara Structured Query Language (SQL). JDBC hanya mendukung SQL, Hibernate Query Language (HQL) terkait dengan SQL karena merupakan bahasa query berorientasi objek. Untuk menghubungkan cara, HQL menafsirkan kueri ke kueri SQL yang kemudian dapat meluncurkan operasi di database.
- Kemandirian Basis Data
Hibernate menyediakan pemetaan yang menghubungkan tabel data dan aplikasi melalui file XML; ini menyediakan cara yang lebih baik untuk mentransfer data ke database baru jika diperlukan. Sedangkan cara mengakses database, informasi diperlukan, jika dalam hal dapat digunakan kembali. Caching adalah komponen penting untuk kinerja database, yang mengurangi waktu dan mendukung aplikasi secara real-time.
- Penyatuan koneksi di Hibernate:
Hibernate dapat mencapai kinerja yang lebih andal; itu menyediakan "pengumpulan koneksi"; ini adalah proses untuk mengumpulkan koneksi database dalam cache. Koneksi ini dapat digunakan kembali dari cache itu sendiri jika aplikasi mencoba terhubung ke database yang sama beberapa kali.
Pertanyaan dan Jawaban Wawancara Hibernasi
Pertanyaan:1 Bagaimana Anda mengonfigurasi Hibernate untuk menulis pernyataan SQL yang dieksekusi dan menggunakan parameter bind ke file log?
Jawaban: Berikut adalah langkah-langkah di bawah ini:
Buat dua bagian log dan level log yang berbeda untuk mencatat pernyataan SQL yang dieksekusi dan parameter ikat:
- Kategori org.hibernate.SQL .
- kategori org.hibernate.type.descriptor.sql dengan tingkat log TRACE.
Pertanyaan:2 Jelaskan fitur favorit Anda dari kerangka kerja Hibernate.
Jawaban: Alat ORM, Hibernate menyediakan bahasa permintaan yang kuat (HQL)
Pertanyaan:3 Bagaimana Anda membedakan Entity Beans dan Hibernate.
Jawaban: Kacang entitas adalah wadah, kelas, deskriptor. Hibernate adalah alat yang secara instan mempertahankan pohon objek ke kelas.
Pertanyaan:4 Jelaskan proses objek Sesi dan bagaimana kita dapat menggunakannya dalam cache tingkat pertama dan cache tingkat kedua?
Jawaban: Caching tingkat pertama : Ini dimulai dengan setiap basis sesi , dengan objek " sesi " .
Caching tingkat kedua: Dapat dibagikan di luar beberapa sesi .
Pertanyaan:5 Bagaimana cara kerja pewarisan di Hibernate? Apa saja berbagai strategi yang tersedia untuk mengimplementasikannya?
Jawaban: Tiga jenis Warisan:
- Tabel Per Hirarki
- Tabel Per kelas Beton
- Tabel Per Subkelas
Pertanyaan:6 Bagaimana cara kerja Penguncian di Hibernate? Apa sajakah berbagai mekanisme penguncian yang tersedia?
Jawaban: Mekanisme penguncian bersifat optimis dan pesimis Pertanyaan:7 Bagaimana cara kerja manajemen transaksi di Hibernate?
Jawaban: Ini bekerja dengan bantuan (JTA, JDBC).
Pertanyaan:8 Apa itu pemuatan lambat di Hibernate?
Jawaban: Mekanisme ini pada entitas dan asosiasinya dengan mengimplementasikan proxy kelas.
Pertanyaan:9 Apa saja berbagai strategi pengambilan yang tersedia di Hibernate?
Jawaban: Gabung mengambil dan Pilih mengambil
Pertanyaan:10 Apa sajakah berbagai strategi pengambilan yang tersedia di Hibernate?
Answer: Join-Fetching dan Select Fetching adalah pengambilan yang tersedia di Hibernate.

Pertanyaan:11 Apa perbedaan antara mendapatkan () dan memuat () metode di Hibernate?
Jawaban : get() dan load() yang digunakan untuk mengambil data untuk pengidentifikasi yang ditetapkan. Metode Get() mengembalikan null, metode load() melempar kesalahan objek tidak ditemukan jenis pengecualian.
Pertanyaan:12 Mengapa Anda tidak membuat kelas entitas menjadi final?
Jawaban: Digunakan untuk mengikat entitas .
Soal:13 Jelaskan kelebihan dan kekurangan benda lepas.
Jawaban: Ini terkait dengan sesi Hibernate di masa lalu; itu memiliki deskripsi dalam database
Pertanyaan:14 Apa itu Bahasa Kueri Hibernasi (HQL)?
Jawaban: Ini didasarkan pada konsep OOPS.
Pertanyaan:15 Nyatakan peran antarmuka SessionFactory bermain di Hibernate.
Jawaban: Ini adalah proses dari objek yang aman untuk utas dan dapat digunakan dalam proses utas aplikasi
Pertanyaan:16 Apa manfaat Hibernate dibandingkan JDBC?
Jawaban: Ini memberikan kinerja dan skalabilitas tercepat.
Pertanyaan:17 Jelaskan beberapa database yang dikelola oleh Hibernate.
Jawaban: Basis data relasional menggunakan JDBC.
Pertanyaan:18 Bagaimana cara membedakan metode session.save() dan session.persist()?
Jawaban: Session.save() digunakan untuk menyimpan objek dalam database dan session.persist() untuk objek sementara dan persisten.
Pertanyaan:19 Jelaskan tentang metode pembaruan dan penggabungan?
Jawaban: Dapat digunakan untuk mentransformasikan objek yang dalam keadaan terpisah.
Pertanyaan:20 Apakah mungkin untuk melakukan pemetaan koleksi dengan One-to-One dan Many-to-One?
Jawaban: Dapat digunakan dalam Tabel yang dipetakan ke banyak baris di tabel lain.
Question:21 Bagaimana cara melakukan transaksi di Hibernate?
Jawaban: Dengan bantuan deklarasi kelas @transctional, kita dapat melakukan transaksi.
Pertanyaan:22 Di mana pemetaan objek/relasional diwakili dalam Hibernate?
Jawaban: Hibernate ORM adalah pemetaan objek/relasional.
Pertanyaan:23 Apa pendapat Anda tentang Light Object?
Jawaban: Sesi, Query, Kriteria, Transaksi adalah konsep dari Light Object.
Pertanyaan:24 Apa itu @Transient di Hibernate? Apa keuntungan dari ini?
Jawaban: @ Transient Ini diterapkan di javax, paket kegigihannya.
Pertanyaan:25 Bagaimana cara menggabungkan Struts Spring Hibernate?
Jawaban: Dengan bantuan ContextLoaderPlugIn, kita dapat menggabungkan.
Pertanyaan: 26 Jelaskan tentang Hibernate Log4j Logging.
Jawaban: Terdiri dari file By log4j.xml dan file log4j.properties.
Pertanyaan: 27 Bagaimana cara membatasi pembaruan serentak di Hibernate?
Jawaban: Dengan bantuan Proses penguncian Pesimis, kami dapat membatasi pembaruan bersamaan.
Pertanyaan: 28 Apa metode terbaik untuk menentukan kelas persisten Hibernate Anda?
Jawaban: Ada banyak metode dan praktik terbaik yang dapat kita gunakan dengan Pemetaan kelas persisten dan mekanismenya.
Pertanyaan: 29 Apa konsep Memodifikasi objek persisten?
Menjawab: objek persisten dikejar dengan hibernasi dan disimpan ke dalam database ketika permintaan komit terjadi.
Pertanyaan: 30 Apa itu One to Many Bi-directional Relation di Hibernate?
Jawaban: Ini adalah Referensi dari pegangan atribut asosiasi dari banyak pandangan sebagai manfaat dari atribut mappedBy, Hibernate memiliki semua pengetahuan yang dibutuhkan. Dengan proses ini, kita perlu mendefinisikan asosiasi banyak-ke-satu dua arah.
Baca: Keterampilan untuk menjadi pengembang tumpukan penuh
Pertanyaan: 31 Apa yang dimaksud dengan penggantian Nilai dalam kerja Bundel Sumber Daya Pesan?
Jawaban: ResourceBundleMessageInterpolator Hibernate Validator menghasilkan dua instance ResourceBundleLocator satu untuk validasi UserDefined Pesan validasi standar – defaultResourceBundleLocator .
Pertanyaan: 32 Jelaskan proses perintah eksekusi pernyataan SQL.
Jawaban: Ini adalah cache tingkat kedua dalam urutan tertentu karena batasan kunci asing tidak dapat dipatahkan: Sisipan, Pembaruan, Penghapusan elemen array, Penyisipan elemen array, Penghapusan, ke arah penyajiannya
Pertanyaan: 33 Bagaimana Anda mengatur cache level 2 di Hibernate dengan EHCache?
Jawaban: Terracotta Ehcache adalah cache modern yang berfungsi sebagai cache tingkat kedua Hibernate . Ini dapat dipraktikkan sebagai cache tingkat kedua yang berdiri sendiri .
Pertanyaan: 34 Apa varians utama antara Entity Beans dan Hibernate?
Jawaban: Kacang entitas terus dilakukan oleh deskriptor, wadah, kelas. Hibernate hanyalah sebuah mekanisme yang segera menahan pohon objek ke hierarki kelas dalam database.
Pertanyaan: 35 Jelaskan langkah-langkah untuk bergabung ditangani menggunakan Hibernate?
Jawaban: Dengan bantuan SQL Join, kami bisa mengatasinya.
Pertanyaan: 36 Jelaskan proses dari Hibernate proxy?
Jawaban: Proksi hibernasi Ini mengacu pada Hibernate ketika kita memanggil Session. memuat().
Pertanyaan: 37 Apa keuntungan utama menggunakan Hibernate daripada menggunakan SQL?
Jawaban: Dengan praktek ORM dan dengan penggunaan Hibernate , maka penggunaan SQL adalah Hibernate menghindari penulisan query skala besar.
Pertanyaan: 38 Jelaskan pola desain yang dapat kita gunakan dalam Hibernate?
Answer : Proxy pattern, Domain model, dan object model merupakan design pattern.
Baca Juga: Karir di Full Stack Development
Pertanyaan: 39 Jelaskan Arsitektur Hibernate.
Jawaban: Hibernate memiliki arsitektur berlapis yang mengakomodasi pengguna untuk mengelola tanpa harus memahami API yang mendasarinya
Pertanyaan: 40 Sebutkan tipe Data yang didukung di Hibernate?
Jawaban: IntegerType,FloatType,DoubleType,CharacterType,ShortType.
Pertanyaan: 41 Apa itu (JDO, CMP)?
Jawaban: Teknologi persistensi Java-nya.
Pertanyaan: 42 Apa perbedaan utama antara pegas dan Hibernasi?
Jawaban: Spring dan hibernate adalah dua framework yang terpisah. Kontrak pegas dengan memperkuat aliran aplikasi. Hibernate adalah tentang interaksi antara aplikasi dan database.
Pertanyaan: 43 Kapan kami dapat menemukan solusi ORM di Hibernate?
Jawaban: Hibernate adalah konsep solusi Object/Relational Mapping (ORM) untuk Java; Istilah Pemetaan Objek/Relasional mengacu pada prosedur pemetaan data antara deskripsi model objek ke deskripsi model data relasional.
Pertanyaan:44 Sebutkan proses langkah demi langkah untuk menyelesaikan transaksi di Hibernate.
Jawaban: dengan bantuan properti ACID-> (Atomicity, Consistency, Isolation, dan Durability).
Pertanyaan:45 Di mana pemetaan di Hibernate?
Jawaban: Pemetaan Hibernate adalah fitur dari Hibernate; mereka mengatur koneksi di antara dua tabel database saat atribut dalam model Anda. Itu memungkinkan Anda dengan cepat mendorong asosiasi dalam model dan kueri Standar Anda.
Pertanyaan:46 Dapatkah Anda menyentuh berbagai jenis hubungan yang mungkin dalam pemetaan Hibernasi?
Jawaban: Satu-ke-satu, Banyak-ke-satu, Satu-ke-Banyak, Banyak-ke-Banyak.
Pertanyaan:47 Di mana kita bisa mendefinisikan pemetaan objek di Hibernate?
Jawaban: Konversi objek Java menjadi kueri SQL untuk menyimpan data.
Pertanyaan:48 Dapatkah Anda membuat daftar berbagai jenis koleksi di Hibernate?
Jawaban: HashMap, HashSet, TreeSet, dan Arraylist adalah tipe koleksi di Hibernate.
Pertanyaan:49 Bagaimana proses pengambilan data dari database di Hibernate?
Jawaban: Dengan bantuan kriteria Hibernate menggunakan fungsi API beginTransaction() dengan sesi, kita dapat mengambil data.

Pertanyaan:50 Jelaskan tentang file pemetaan Hibernate melalui penggunaan anotasi JPA @NamedQuery dan @NamedNativeQuery.
Jawaban: @NamedQuery dan @NamedNativeQuery adalah jenis kueri HQL, yang menangani kerumitan mengubah HQL menjadi banyak dialek SQL.
Mendaftar di Kursus Rekayasa Perangkat Lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Kesimpulan
Kami harap artikel ini membantu Anda memahami 50 pertanyaan "Wawancara" Hibernasi Teratas untuk pemula dan profesional.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan perangkat lunak tumpukan penuh, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Tumpukan Penuh yang dirancang untuk para profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek, dan penugasan, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
