Pengenalan ORM dengan Hibernate Framework
Halo kali ini saya mau membahas salah satu framework yang sifatnya ORM (Object Relational Mapping) yaitu Hibernate Framework. Tapi sebelum kita mulai belajar koding saya mau cerita dulu nih. Jadi…
Jaman dulu sebelum ada JPA (Java Persistance API) kita murni kita menggunakan JDBC, Dengan menggunakan JDBC semuanya kita harus atur mulai dari Open Connection ke database, Data Definision Language (DDL), Data Manipulation Language (DML), Transaction Control Management (TCL) dll. klo digambarin alurnya seperti beriku:
- Membuat DDL statement untuk membuat database, table.
- Membuat Konfigurasi Koneksi untuk Java dapat berkomunikasi ke database. biasanya dengan menggunakan configrasi
DataSource
atauConnection
- Membuat perintah query dalam Java yang dikirim ke database menggunakan
PrepareStatement
danStatement
. - Menjalankan query atau mengirim ke database dengan menggunakan
executeUpdate()
atauexecuteQuery()
. - Jika menampilkan data ke database menggunakan
ResultSet
- Menutup koneksi
- Belum lagi kita harus try-catch handle klo ada error sql, koding yang kita tulis penuh dengan try catch deh pokonya.
Jadi jaman sekarang kita tidak perlu dipusingkan lagi dengan menggunakan query-query tersebut, meskipun saya background dari Database System Management tapi jujur aja saya juga rada males sih klo berurusan dengan SQL, PL/SQL, dan sejenisnya soalnya sekarang khan Database itu banyak versinya mulai dari Oracle, MySQL, PostgreSQL, MariaDB dan lain-lain toh juga fungsinnya cuman mempermudah proses penyimpanan, update, hapus dan pencarian data.
Nah jadi klo menggunakan Hibernate kita cukup membuat konfigurasinya kemudian tanpa menggunakan query (DDL maupun DML) udah bisa digunakan. adapun berikut alur lebih jelasnya:
- Membuat konfigurasi
SessionFactory
- Membuat
POJO
(Plain Old Java Object) atau katalainnyaJavaBeans
- Kita bisa memanggil fungsi-fungsi yang disedian oleh hibernate contohnya
save(obj)
,update(obj)
,get(obj)
dandelete(obj)
.
Selain itu juga, framework hibernate ini bisa menggenarate table dalam database secara otomatis sesuia dengan Model yang kita buat di Java Source Code yang di tandai dengan @Entity
atau membuat mapping dengan XML. jadi kesimpulannya kita tidak perlu lagi membuat Table dengan perintah SQL.
karena Hibernate ini support dengan banyak database, framework hibernate sekarang udah sangat cerdas magsunya bisa membedakan antara database yang menggunakan AUTO_INCREMENT
atau SEQUENCE
contohnya klo SessionFactory
kita menggunakan MySQL maka akan otomatis akan dibuatkan AUTO_INCREMENT
ketika menggunakan @GeneratedValue
sedangkan jika SessionFactory
kita menggunakan Oracle atau PostgreSQL maka secara otomatis juga akan dibuatkan menggunakan SEQUANCE
History of Hibernate Framework
Hibernate mulai di perkenalkan di 2001 oleh Gavin King
dan kawan-kawannya dari Cirrus Tehcnologies
sebagai alternative EJB2 style entity beans. yang menjadi tujuan utama dari Hibernate ORM adalah better persistance capabilities dari EJB2 dan simplifying the complexities and supplementing certain missing feature.
Hibernate Features
- Modern ORM Solution
- Transparent Persistance (POJO/JavaBeans)
- Persistent/transient instance
- Automatic Dirty Checking
- Transitive Persistance
- Lazy Fetching
- Outer Join Fetching
- Runtime SQL Generation
Why Hibernate?
- Natural Programming Model
- Minimize LOC (Line of code)
- Minimize Database Access dengan smart fetching strategis.
ORM Alternative
- myBatis
- eclipse link
- EJB
- TopLink
Yuk simak juga videonya,
Dan jika temen-temen belajar hal baru kali ini jangan lupa buat Like, Subcribe, dan Share ke temen kalian. Terimakasih!!!