Tutorial Hibernasi untuk Pemula

Diterbitkan: 2022-09-26

Hibernate sumber terbuka adalah kerangka kerja Java OOP gratis yang digunakan dalam aplikasi web untuk memetakan model domain berorientasi objek dengan basis data relasional.

Seseorang dapat menggunakan HQL dan SQL untuk query database dan mengaktifkan pemetaan objek-relasional yang kuat. Namun, implementasi pemetaan ORM di Java disederhanakan dengan Hibernate, mengurangi kerumitan yang signifikan dalam aplikasi Anda, dan bermanfaat bagi orang yang memiliki pemahaman mendasar tentang SQL.

Lihat kursus gratis kami yang terkait dengan pengembangan perangkat lunak.

Daftar isi

Jelajahi Kursus Gratis Pengembangan Perangkat Lunak Kami

Dasar-dasar Komputasi Awan Dasar-dasar JavaScript dari awal Struktur Data dan Algoritma
Teknologi Blockchain Reaksi untuk Pemula Dasar-dasar Java Inti
Jawa Node.js untuk Pemula JavaScript tingkat lanjut

Arsitektur Hibernasi

Konfigurasi hibernate biasanya disimpan di bagian properti atau file hibernate.cfg.xml. Saat mencari konfigurasi Java, cari kelas yang ditandai dengan anotasi @Configuration.

Untuk mulai bekerja dengan aplikasi Java dan database, mulailah dengan Session Factory. Objek mewakili seluruh koleksi pemetaan antara Jenis Java aplikasi dan database SQL.

Pabrik Sesi

Setiap aplikasi pengguna dapat meminta objek sesi dengan menghubungi Pabrik Sesi. Pabrik Sesi menggunakan informasi konfigurasi yang disertakan dalam file untuk membuat objek sesi. Interaksi aplikasi dan database pada saat yang berbeda disertakan dalam sebuah sesi, dan kelas sesi mewakili ini.

Pertanyaan

Program aplikasi dapat meminta database untuk satu atau lebih item yang disimpan menggunakan bahasa kueri. Hibernate menawarkan berbagai pendekatan, termasuk NamedQuery dan Criteria API, untuk mengkueri database.

Cache tingkat pertama

Cache yang digunakan oleh objek Sesi Hibernasi yang berkomunikasi dengan database pada tingkat pertama disebut cache tingkat pertama, juga dikenal sebagai cache sesi. Ini bertanggung jawab untuk menyimpan item dalam sesi saat ini. Setiap permintaan dari objek Sesi ke database harus berjalan melalui cache tingkat pertama atau cache sesi sebelum mencapai database. Oleh karena itu, penting untuk memperhatikan bahwa cache tingkat pertama tetap dapat diakses dengan objek sesi sampai tidak lagi aktif.

Transaksi

Transaksi memungkinkan pembentukan konsistensi data dengan kemampuan untuk memutar kembali jika terjadi kesalahan.

Objek Persisten

Objek persisten adalah objek Java tradisional (POJO) yang disimpan dalam database sebagai baris dalam tabel yang ditautkan oleh kerangka kerja Hibernate. Hibernasi file konfigurasi mengonfigurasi objek ini atau menandainya dengan anotasi @Entity.

Cache tingkat kedua

Cache tingkat kedua melacak berbagai hal selama beberapa sesi. Aktifkan dan sediakan penyedia cache untuk menggunakan cache tingkat kedua. Misalnya, EhCache adalah penyedia cache tingkat kedua yang populer di banyak aplikasi.

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Jelajahi Kursus Rekayasa Perangkat Lunak Populer kami

Master of Science dalam Ilmu Komputer dari LJMU & IIITB Program Sertifikat Keamanan Siber CTME Caltech
Bootcamp Pengembangan Tumpukan Penuh Program PG di Blockchain
Program PG Eksekutif dalam Pengembangan Tumpukan Penuh
Lihat Semua Kursus kami Di Bawah
Kursus Rekayasa Perangkat Lunak

Karakteristik Utama dari Kerangka Hibernasi

Hibernate adalah kerangka kerja pemetaan objek domain Java yang dirancang untuk mengelola tabel database. Kerangka kerja menyederhanakan bekerja pada item database menggunakan objek Java daripada pernyataan SQL. Selain itu, mengurus manajemen transaksi, pembuatan kunci utama otomatis, mengelola koneksi database, dan implementasi terkait berkontribusi pada proses pengembangan.

Standar Java Persistence API (JPA) didukung oleh penyedia JPA Hibernate. Ini adalah kumpulan standar untuk mengakses, menyimpan, dan mengelola data. Satu lebih lanjut dapat menggunakan keuntungan dari objek Java dan menghubungkannya dengan entitas database relasional untuk memastikan dukungan JPA lengkap.

Performa tinggi dan skalabilitas

Sementara Hibernate dapat tumbuh di lingkungan apa pun, ia menawarkan berbagai fitur peningkatan kinerja seperti penguncian optimis, inisialisasi malas, dan beberapa teknik lainnya.

Sederhana untuk mengikuti

Karena Hibernate tidak memerlukan struktur atau atribut basis data khusus, pengelolaannya bisa jadi sulit. Ini menciptakan SQL selama startup sistem. Namun, jika dibandingkan dengan JDBC, perawatannya lebih mudah.

Kelas seperti AnnotationConfiguration, ServiceRegistryBuilder, dan lainnya telah ditinggalkan dengan cepat di versi Hibernate sebelumnya.

Keterampilan Pengembangan Perangkat Lunak Sesuai Permintaan

Kursus JavaScript Kursus Inti Java Kursus Struktur Data
Kursus Node.js Kursus SQL Kursus pengembangan tumpukan penuh
Kursus NFT Kursus DevOps Kursus Data Besar
Kursus React.js Kursus Keamanan Cyber Kursus Komputasi Awan
Kursus Desain Basis Data Kursus Python Kursus Mata Uang Kripto

Konsep Entitas, Kesetaraan, dan Identitas

Hibernate menawarkan konsep tambahan untuk membandingkan objek atau karakteristik untuk memenuhi aturan bisnis yang tepat. Selain pengetahuan yang sudah ada sebelumnya tentang memeriksa kesetaraan di inti Java, konsep Hibernate sama pentingnya untuk dipetakan.

1. Pemetaan Asosiasi antara Entitas Hibernasi

Ketika dua entitas terhubung dan dirujuk dengan cara satu arah atau dua arah, gunakan anotasi JPA untuk memberi anotasi pada kelas java dan mengubahnya menjadi entitas permanen. Namun, pertama-tama, sangat penting untuk memahami beberapa konsep dasar sebelum menghasilkan referensi antara entitas Hibernate.

2. Entitas/Kegigihan adalah dua hal yang berbeda

Instance objek yang dipetakan Hibernate membawa salah satu dari empat status: transitori, permanen, terlepas, atau dihapus, tergantung pada status instance objek yang dimaksud.

3. Jenis Cascade di Hibernate dan JPA

Properti "CascadeType" digunakan dalam entitas untuk mengaktifkan efek kaskade dan terbalik. Ada beberapa jenis pilihan cascading yang dapat diakses melalui CascadeType.

Baca Artikel Populer kami yang terkait dengan Pengembangan Perangkat Lunak

Bagaimana Menerapkan Abstraksi Data di Jawa? Apa itu Kelas Dalam di Jawa? Java Identifiers: Definisi, Sintaks, dan Contoh
Memahami Enkapsulasi dalam OOPS dengan Contoh Argumen Baris Perintah di C Dijelaskan 10 Fitur & Karakteristik Terbaik Cloud Computing di tahun 2022
Polimorfisme di Jawa: Konsep, Jenis, Karakteristik & Contoh Paket di Java & Bagaimana Cara Menggunakannya? Tutorial Git Untuk Pemula: Belajar Git dari Awal

Keuntungan Anotasi Hibernasi vs Pemetaan

Sebelum anotasi sebaris, satu-satunya metode untuk membuat pemetaan Hibernate adalah file XML. Meskipun alat yang berbeda dari Hibernate dan proyek pihak ketiga memungkinkan produksi pemetaan otomatis dari sumber Java, ini tidak terjadi.

Anotasi adalah pemetaan yang didefinisikan paling baru tetapi bukan yang paling efektif.

Berikut adalah beberapa keuntungan dari anotasi Hibernate (atau, lebih tepatnya, JPA).

Bahasa Kueri Hibernasi [HQL] adalah bahasa kueri untuk Hibernasi

HQL memiliki kesamaan dengan bahasa query berorientasi objek SQL. Operasinya pada objek permanen daripada tabel dan kolom menunjukkan fungsionalitas bahasa kueri yang kuat.

JPQL, atau Java Persistence Query Language, adalah sebuah superset. Oleh karena itu, kueri JPQL yang valid dianggap sebagai kueri HQL yang baik. Namun, tidak semua kueri HQL yang valid adalah kueri JPQL yang valid dan sebaliknya.

Query untuk Kriteria Hibernate

Dengan menggunakan Criteria Query API, dimungkinkan untuk membuat ekspresi kueri terstruktur dan bersarang di Java, memungkinkan verifikasi sintaks waktu kompilasi yang tidak dapat dicapai dengan bahasa kueri seperti HQL atau SQL. Selain fungsionalitas kueri dengan contoh (QBE), API Kriteria berisi fitur lain.

Misalnya, memberikan contoh objek yang memiliki karakteristik yang diinginkan daripada menjelaskan komponen pencarian Anda selangkah demi selangkah dapat menghemat waktu dan tenaga. Ini juga berisi teknik untuk proyeksi dan agregasi, seperti metode hitung ().

Konfigurasi dari Hibernate EhCache

Fitur caching yang diberikan oleh kerangka kerja ORM memungkinkan pengguna untuk memiliki aplikasi web yang berjalan cepat sambil memungkinkan kerangka kerja untuk mengurangi kueri yang dibuat dalam basis data untuk satu transaksi. Caching sangat membantu bagi pengguna dan kerangka kerja. Hibernate memperluas caching pada level pertama dan kedua dari hierarki.

Kesimpulan

Perangkat lunak Hibernate dianggap sebagai kerangka kerja yang sangat fungsional untuk semua hal Java. Dalam tutorial Hibernate ini, kita membahas dasar-dasar penggunaan Hibernate.

Jika Anda ingin mempelajari secara mendalam tentang kerangka kerja Hibernate dan memahami alur aplikasi ujung-ke-ujung mendasar yang muncul dari integrasi dengan kerangka kerja Spring 3, kami sarankan untuk bergabung dengan Program PG Eksekutif upGrad dalam Pengembangan Tumpukan Penuh .

Kursus 13 bulan ini dirancang untuk Pengembang Perangkat Lunak, Profesional TI, Insinyur, Analis, Profesional Dukungan Teknis, dan Mahasiswa Baru yang ingin mengembangkan fondasi dalam Dasar-dasar Ilmu Komputer, Operasi Pengembangan Perangkat Lunak, Membangun Situs Web yang Dapat Diskalakan, API Backend, dll.

Program ini mencakup 10+ alat dan bahasa pemrograman, 7+ studi kasus dan proyek, kamp pelatihan, dan akses ke Ilmu Data & Pembelajaran Mesin.

Jangan menunggu. Pesan kursi Anda hari ini!

Bagaimana cara membuat SessionFactory dalam kerangka kerja Hibernate?

Setiap aplikasi pengguna dapat meminta objek sesi dengan menghubungi Pabrik Sesi. Pabrik Sesi menggunakan informasi konfigurasi dari file untuk membuat objek sesi dengan benar.

Bagaimana cara mengkonfigurasi Hibernate Connection Pooling dan Caching?

Hibernate, secara default, menggunakan koneksi JDBC untuk berkomunikasi dengan sistem database. Namun, membuat koneksi ini memakan waktu, mahal, dan kemungkinan merupakan aktivitas tunggal paling mahal yang akan dilakukan Hibernate dalam skenario penggunaan biasa. Mengingat tingginya biaya manajemen koneksi JDBC, Anda dapat menggunakan kumpulan koneksi, yang membangun hubungan sebelumnya.

Apa itu kelas persisten di Jawa?

Setiap kelas yang menganut konsep berorientasi objek seperti pewarisan dan polimorfisme mungkin merupakan kelas persisten dalam aplikasi Java.