20 Pertanyaan Dan Jawaban Wawancara Hibernate Paling Umum [Untuk Freshers & Berpengalaman]

Diterbitkan: 2020-12-31

Untuk waktu yang lama, Java telah memegang salah satu posisi peringkat teratas dalam daftar bahasa pemrograman paling populer. Tentu saja, sebagai bahasa pemrograman prioritas tinggi yang disukai oleh pengembang di seluruh dunia, Java disertai dengan koleksi alat, pustaka, dan kerangka kerja yang sangat banyak. Dalam posting ini, kita akan berbicara tentang framework Java yang populer, Hibernate.

Siapapun yang pernah bekerja dengan atau bekerja dengan Java sangat menyadari Hibernate dan kekuatannya. Namun, izinkan kami menguraikannya untuk Anda yang baru saja menemukan nama ini – Hibernate.

Daftar isi

Apa itu Hibernasi?

Hibernate adalah alat ORM (pemetaan relasional objek) yang dirancang khusus untuk Java. dengan kata lain, ia menawarkan kerangka kerja untuk membantu memetakan model berorientasi objek ke database relasional. Hibernate terutama berfokus pada pemetaan dari kelas Java ke tabel database dan pemetaan dari tipe data Java ke tipe data SQL .

Hibernate juga memperluas layanan pencarian dan pengambilan data. Itu ditulis dalam Java dan berbasis JVM. Hibernate menawarkan implementasi referensi Java Persistence API yang menjadikannya pilihan yang fantastis untuk ORM (Object Relational Mapping). Kita dapat menggunakan API persistensi Hibernate untuk operasi CRUD

Awalnya, Hibernate dirancang untuk menjadi alternatif yang lebih sederhana dan lebih baik dari EJB2 (Enterprise Java Beans versi 2). Hari ini, Hibernate membanggakan menjadi salah satu alat ORM yang paling banyak digunakan untuk aplikasi Java.

Ini banyak digunakan untuk mengembangkan aplikasi perusahaan berbasis Java untuk operasi database. Juga, Hibernate Persistence API sangat baik untuk operasi CRUD.

Sekarang setelah Anda memiliki pengetahuan latar belakang tentang Hibernate, mari kita mengenal alat ORM ini sedikit lebih baik dengan pertanyaan Wawancara X Hibernate ini!

Mendaftar di Kursus pengembangan perangkat lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Pertanyaan & Jawaban Wawancara Hibernasi

1.Apa itu ORM?

ORM (Object Relational Mapping) mengacu pada teknik pemetaan objek dengan data yang disimpan dalam database. Tujuan ORM adalah untuk menyederhanakan pembuatan data, akses data, dan manipulasi data.

2. Apa itu JPA?

Java Persistence API (JPA) adalah spesifikasi yang mengalokasikan standar dan fungsionalitas ke alat ORM. Anda dapat mengakses kelas dan antarmuka JPA dari paket javax.persistence . Semua spesifikasi JPA didefinisikan menggunakan anotasi dalam paket javax.persistence. Keuntungan menggunakan anotasi JPA adalah memungkinkan Anda untuk menulis kode implementasi independen.

3.Apa Anotasi JPA Penting yang Digunakan Untuk Pemetaan Hibernasi?

Hibernate mendukung anotasi JPA bersama dengan banyak anotasi lain yang dapat Anda akses melalui paket org.hibernate.annotations. Berikut adalah tujuh anotasi JPA yang paling penting:

javax.persistence.Entity – Digunakan dalam kombinasi dengan kelas model untuk mendeklarasikannya sebagai kacang entitas.

javax.persistence.Table – Digunakan dengan kacang entitas untuk menentukan nama tabel yang sesuai dalam database.

javax.persistence.Access – Digunakan untuk menentukan jenis akses, bidang, atau properti. Nilai default untuk anotasi ini adalah bidang.

javax.persistence.Id – Ini mendefinisikan kunci utama dalam kacang entitas.

javax.persistence.EmbeddedId – Digunakan untuk menentukan kunci utama komposit dalam kacang entitas.

javax.persistence.Column – Ini menentukan nama kolom dalam tabel database.

javax.persistence.GeneratedValue – Ini mendefinisikan strategi yang diperlukan untuk menghasilkan kunci utama.

4.Tentukan HQL

HQL adalah singkatan dari Hibernate Query Language. Ini adalah bahasa query Berorientasi Objek, independen dari database.

5.Bagaimana Anda Melakukan Pemetaan Dalam Hibernasi?

Fitur pemetaan asosiasi Hibernate memfasilitasi pemetaan dengan mendukung empat asosiasi standar, sama seperti model database relasional:

  • Asosiasi satu-ke-satu
  • Asosiasi satu ke banyak
  • Asosiasi banyak-ke-satu
  • Asosiasi banyak-ke-banyak

Masing-masing asosiasi ini dapat dipetakan sebagai asosiasi searah atau dua arah.

6. Beri nama antarmuka/komponen utama Hibernate.

Hibernate memiliki enam antarmuka inti – Konfigurasi, SessionFactory, Session, Query, Criteria, dan Transaction.

7.Dapatkah Anda membuat kueri SQL di Hibernate?

Ya, Anda dapat membuat kueri SQL di Hibernate. Untuk membuat kueri SQL, Anda harus menggunakan sintaks berikut:

Session.createSQLQuery

8.Apa itu file konfigurasi Hibernate?

File konfigurasi hibernate menyimpan konfigurasi khusus database. Ini digunakan untuk menginisialisasi antarmuka SessionFactory. File ini juga berisi informasi lain yang relevan seperti informasi Dialek yang memungkinkan Hibernate mengetahui tipe database dan file pemetaan/detail kelas.

9.Apa itu Kelas Persisten?

Dalam Hibernate, kelas-kelas yang objek dan instance-nya disimpan dalam kelas database disebut kelas persisten.

10.Tentukan Sesi

Antarmuka Sesi terletak di antara Hibernate dan lapisan aplikasi Java. Hal ini terutama digunakan untuk melakukan operasi database. Session membantu membangun dan memelihara koneksi antara aplikasi Hibernate dan database. Ini menawarkan metode berbeda untuk melakukan operasi buat, baca, perbarui, dan hapus untuk objek persisten.

Juga, Sesi bertindak seperti pabrik Kueri, Kriteria, dan Transaksi, yang berarti ia memperluas metode pabrik untuk mengembalikan instans ini. Anda dapat menggunakan objek Sesi untuk membuat kriteria dan menjalankan kueri HQL dan kueri asli SQL.

11.Tentukan SessionFactory.

Di Hibernate, SessionFactory adalah kelas pabrik yang digunakan untuk mengakses objek Session. Itu membaca parameter konfigurasi Hibernate dan terhubung ke database untuk mengambil objek Sesi. SessionFactory pada dasarnya adalah pabrik Session dan menyediakan instance Session.

Setelah SessionFactory dibuat, status internalnya diperbaiki, membuatnya tidak dapat diubah. Status internal SessionFactory berisi metadata lengkap dari Object/Relational Mapping.

12. Bedakan antara file konfigurasi Hibernate dan file pemetaan Hibernate.

File konfigurasi hibernasi mencakup konfigurasi khusus basis data dan informasi Dialek. Ini digunakan untuk menginisialisasi SessionFactory. Anda dapat mengakses kredensial database atau informasi sumber daya JNDI dari file XML konfigurasi Hibernate.

Di sisi lain, file pemetaan Hibernate digunakan untuk mendefinisikan pemetaan kolom tabel database dan bidang kacang entitas. File pemetaan adalah inti dari setiap aplikasi Hibernate. Ini berisi pemetaan dari nama kelas POJO ke nama tabel dan nama variabel kelas POJO ke nama kolom tabel.

13.Apa itu POJO?

POJO adalah singkatan dari Plain Old Java Object. Pada dasarnya, POJO adalah biji java yang dirancang dengan metode pengambil dan penyetel standar untuk properti individu. Keuntungan menggunakan POJO daripada kelas Java adalah Anda dapat menulis kode yang bersih, tepat, dan efisien.

14. Beri nama komponen kunci dari objek konfigurasi Hibernate.

Objek konfigurasi Hibernate memiliki dua komponen utama

  1. Koneksi Database yang dikelola oleh satu atau lebih file konfigurasi.
  2. Pengaturan Pemetaan Kelas yang digunakan untuk membuat koneksi antara kelas Java dan tabel database.

15.Apa itu Dialek Hibernasi?

Hibernate Dialect menentukan jenis database yang ingin Anda gunakan. Hal ini memungkinkan Hibernate untuk mengetahui informasi ini terlebih dahulu untuk menghasilkan pernyataan SQL yang sesuai yang paling sesuai dengan jenis database yang Anda pilih/ditentukan.

16.Tentukan “Hibernate caching.”

Caching hibernate adalah proses query data untuk meningkatkan kecepatan dan kinerja aplikasi Hibernate. Tujuannya adalah untuk meminimalkan jumlah kueri database, sehingga mengurangi waktu throughput.

EHCache adalah fitur cache default Hibernate.

17.Apa yang dimaksud dengan cache tingkat pertama dan tingkat kedua?

Di Hibernate, cache tingkat pertama mengacu pada cache Sesi. Ini adalah cache wajib yang harus dilewati oleh semua permintaan. Cache kedua adalah cache opsional yang menyimpan objek di seluruh sesi.

Anda dapat mengonfigurasi cache tingkat kedua berdasarkan pra-pengumpulan dan per kelas. Sebagai aturan umum, cache tingkat pertama harus dikonsultasikan sebelum Anda melakukan upaya apa pun untuk menemukan objek di cache tingkat kedua.

18.Jelaskan tahapan yang berbeda dari sebuah objek/entitas bean.

Instance kacang objek/entitas biasanya ada di salah satu dari tiga fase berikut:

  • Transient - Dalam fase ini, sebuah objek tidak pernah bertahan atau berasosiasi dengan sesi apa pun. Anda dapat mengonversi instans sementara menjadi persisten dengan menggunakan fungsi save(), persistent() atau saveOrUpdate(). Untuk mengembalikan instance persisten kembali ke transien, Anda dapat menggunakan perintah delete().
  • Persistent – ​​Sebuah objek mencapai status persisten ketika diasosiasikan dengan sesi yang unik. Semua instance yang dikembalikan oleh fungsi get() atau load() berada dalam status persisten.
  • Terpisah – Saat objek persisten tidak terkait dengan sesi apa pun, objek tersebut mencapai status terlepas. Anda dapat mengonversi instance terpisah menjadi persisten melalui fungsi update(), saveOrUpdate(), lock(), atau replica().

19.Apa tujuan Pemeriksaan Kotor di Hibernate?

Fitur pemeriksaan kotor otomatis Hibernate secara otomatis memanggil pernyataan pembaruan pada objek yang dimodifikasi dalam suatu transaksi, sehingga membantu pengembang untuk menghindari tindakan penulisan yang memakan waktu.

Pemeriksaan kotor hanya mengubah/memperbarui bidang yang memerlukan tindakan sambil menjaga bidang lain tidak tersentuh. Secara keseluruhan, ini mengurangi waktu penulisan database.

20. Tentukan “Manajemen Transaksi.”

Manajemen Transaksi adalah fitur dari kerangka Spring. Ini pada dasarnya adalah proses mengelola satu set perintah/pernyataan. Di Hibernate, antarmuka Transaksi melakukan Manajemen Transaksi dengan mempertahankan abstraksi dari implementasi transaksi (JTA, JDBC). Anda dapat memulai transaksi dengan memanggil metode session.beginTransaction() .

Baca Juga: Pertanyaan & Jawaban Wawancara Java

Kesimpulan

Sebagai penutup, meskipun dua puluh pertanyaan wawancara Hibernate ini menggores permukaan topik yang dimaksud, kami harap ini membantu Anda memecahkan kebekuan dengan Hibernate dan menggali lebih dalam!

Kami berharap yang terbaik untuk memulai karir Anda di Jawa!

Dapatkan Pekerjaan Impian Anda

Daftar Sekarang untuk Magister Rekayasa Perangkat Lunak