Anda di halaman 1dari 3

Hibernate adalah sebuah object-relational mapping (ORM) library untuk bahasa Java,

menyediakan kerangka kerja untuk pemetaan model domain berorientasi objek untuk
database relasional tradisional. Hibernate memecahkan masalah mismatch impedansi
object-relational dengan mengganti mengakses database langsung ketekunan terkait
dengan fungsi-fungsi penanganan tingkat tinggi objek.

Hibernate adalah perangkat lunak gratis yang didistribusikan di bawah GNU Lesser
General Public License.

Fitur utama Hibernate adalah pemetaan dari kelas Jawa ke tabel database (dan dari Jawa
jenis data untuk tipe data SQL). Hibernate juga menyediakan data query dan fasilitas
pencarian. Hibernate menghasilkan SQL panggilan dan meringankan pengembang dari
hasil penanganan manual menetapkan dan konversi objek, menjaga aplikasi portabel
untuk semua database SQL yang didukung, dengan portabilitas basis data yang
disampaikan di atas kinerja yang sangat sedikit.

Pemetaan

Pemetaan Jawa kelas untuk tabel database dicapai melalui konfigurasi dari file XML atau
dengan menggunakan Java Annotation. Saat menggunakan file XML, Hibernate dapat
menghasilkan kode sumber kerangka untuk kelas-kelas ketekunan. Hal ini tidak perlu
ketika penjelasan digunakan. Hibernate dapat menggunakan file XML atau anotasi untuk
mempertahankan skema database.

Fasilitas untuk mengatur hubungan satu-ke-banyak dan banyak-ke-banyak antara kelas


yang disediakan. Selain mengelola hubungan antara objek, Hibernate juga dapat
mengatur asosiasi refleksif dimana sebuah objek memiliki hubungan satu-ke-banyak
dengan instansi lainnya dari jenis sendiri.

Hibernate mendukung pemetaan jenis nilai adat. Hal ini membuat skenario berikut
mungkin:

* Melebihi tipe standar SQL yang Hibernate memilih saat memetakan kolom untuk
properti.
* Pemetaan Jawa Enum untuk kolom seolah-olah mereka sifat biasa.
* Pemetaan sebuah properti tunggal untuk berbagai kolom.

Kegigihan

Hibernate menyediakan ketekunan transparan untuk Plain Old Java Objects (POJOs).
Satu-satunya persyaratan yang ketat untuk kelas persisten adalah constructor tidak ada
argumen-, belum tentu publik. perilaku yang tepat pada beberapa aplikasi juga
memerlukan perhatian khusus terhadap () dan hashCode () metode sama. [1]

Koleksi objek data biasanya disimpan dalam koleksi obyek Java seperti Set dan Daftar.
Jawa generik, yang diperkenalkan di Jawa 5, yang didukung. Hibernate dapat
dikonfigurasi untuk memuat koleksi malas terkait. Lazy loading adalah default per
Hibernate 3.

Terkait benda dapat dikonfigurasi untuk operasi kaskade dari satu ke yang lain. Misalnya,
orang tua seperti objek Album bisa dikonfigurasi untuk kaskade menyimpan dan / atau
menghapus operasi untuk anaknya Track objek. Hal ini dapat mengurangi waktu
pengembangan dan menjamin integritas referensial. Sebuah fitur yang kotor memeriksa
database yang tidak perlu menghindari menulis tindakan dengan melakukan update SQL
hanya pada bidang dimodifikasi objek persisten.

Hibernate Query Language (HQL)


Hibernate provides an SQL inspired language called Hibernate Query Language (HQL)
which allows SQL-like queries to be written against Hibernate's data objects. Criteria
Queries are provided as an object-oriented alternative to HQL.

integration

Hibernate dapat digunakan baik dalam aplikasi Java mandiri dan dalam aplikasi Java EE
dengan menggunakan servlet atau kacang sesi EJB. Hal ini juga dapat dimasukkan
sebagai fitur dalam bahasa pemrograman lain. Sebagai contoh, Hibernate Adobe
diintegrasikan ke versi 9 dari ColdFusion (yang berjalan pada server aplikasi J2EE)
dengan lapisan abstraksi fungsi baru dan sintaks ditambahkan ke dalam CFML.

Entitas dan komponen

Dalam jargon Hibernate, suatu entitas merupakan objek yang berdiri sendiri di hibernate's
mekanisme persisten yang dapat dimanipulasi secara independen dari objek lain.
Sebaliknya, komponen adalah bawahan entitas lain dan dapat dimanipulasi hanya
berkenaan dengan entitas lain. Sebagai contoh, suatu obyek Album dapat mewakili
entitas tetapi Trek objek yang terkait dengan objek Album akan mewakili komponen dari
entitas Album jika diasumsikan bahwa hanya Trek dapat disimpan atau diambil dari
database melalui obyek Album.

Sejarah

Hibernate dimulai pada tahun 2001 oleh Gavin King sebagai alternatif untuk
menggunakan kacang entitas EJB2-gaya. Misinya saat itu adalah untuk hanya
menawarkan kemampuan ketekunan lebih baik daripada yang ditawarkan oleh EJB2
dengan menyederhanakan kompleksitas dan memungkinkan untuk fitur yang hilang.

Awal tahun 2003, tim pengembangan Hibernate mulai rilis Hibernate2 yang menawarkan
banyak perbaikan yang signifikan dari rilis pertama dan akan pergi untuk melontarkan
Hibernate sebagai "de facto" standar untuk kegigihan di Jawa ...
JBoss, Inc (sekarang bagian dari Red Hat) kemudian mempekerjakan para pengembang
Hibernate memimpin dan bekerja dengan mereka dalam mendukung Hibernate.

Pada 2010 [update] versi terakhir dari Hibernate adalah Versi 3.x. Versi ini
memperkenalkan fitur baru seperti arsitektur / baru Interceptor pgl, filter ditentukan
pengguna, dan JDK 5.0 Penjelasan (fitur metadata Jawa). Pada 2010 [update] Hibernate 3
(versi 3.5.0 ke atas) adalah implementasi bersertifikat dari spesifikasi Java Persistence
API 2.0 melalui pembungkus Core modul yang menyediakan sesuai dengan standar JSR

Aplikasi pemrograman antarmuka

Hibernate API disediakan dalam paket Jawa org.hibernate.


[Sunting] antarmuka org.hibernate.SessionFactory

Referensi abadi dan threadsafe objek Hibernate menciptakan sesi baru. Hibernate aplikasi
berbasis biasanya dirancang untuk menggunakan hanya satu contoh dari kelas yang
mengimplementasikan antarmuka ini (sering terkena menggunakan pola desain
singleton).
[Sunting] antarmuka org.hibernate.Session

Merupakan sesi Hibernate yaitu titik utama dari manipulasi yang dilakukan pada entitas
basis data. Kegiatan terakhir meliputi (di antara hal-hal lain) mengelola negara ketekunan
(transien, bertahan, terlepas) dari obyek, terus yang mendowload dari database dan
pengelolaan demarkasi transaksi.

sesi ini dimaksudkan untuk bertahan selama transaksi logis pada database. Karena
implementasi fitur Sesi terakhir ini tidak diharapkan akan threadsafe atau untuk
digunakan oleh banyak klien.

Anda mungkin juga menyukai