Hibernate diciptakan oleh Gavin
King. Dalam konsep MVC, hibernate berada pada M(Model). Dengan menggunakan
hibernate, table – table yang ada pada database dapat direpresentasikan ke
dalam kelas – kelas java, tetapi hanya untuk mempresentasikan bukan untuk
mengganti table database menjadi kelas java.
Hibernate itu sebuah Framework untuk Object Relation
Mapping atau disingkat ORM, pada hibernate berfungsi memetakan(mapping)
objek-objek kedalam database. Object Relation Mapping merupakan teknik
pemrograman yang memetakan sebuah objek dengan database. ORM adalah 'jembatan'
yaitu penghubung antara objek yang dibuat dalam program dengan database
sehingga dalam implementasi pada sebuah program tidak perlu lagi menggunakan
query SQL dalam memanipulasi data di database karena objek yang dibuat
dapat dimapping sehingga ORM yang akan mengeksekusi ke dalam database.
ORM sendiri adalah untuk
mengkonversi tipe data antara dua hal yang tidak kompatibel yaitu database
relasional dan pemrograman berorientasi obyek bahasa. Dimana database
relasional menggunakan kolom dan record sedangkan pada pemrograman beorientasi
objek menggunakan attribut dan objek.
Hibernate tidak hanya
mengatur pemetaan antara kelas - kelas di java ke tabel database, tapi juga
memberikan mekanisme pengolahan data. Hal tersebut dapat mempercepat proses
pengembangan dibandingkan cara manual dengan melakukan penanganan data melalui
SQL dan JDBC.
Sebelum adanya Hibernate,
yang biasa digunakan untuk koneksi ke dalam database menggunakan JDBC. JDBC
mempunyai kelemahan dalam ketidakefesienan kode, karena dituntut untuk menulis
kode berulang – ulang, harus dibuat connection, statement, resulst, dll. Namun
pada hibernate untuk koneksi berada dalam satu file configurasi, yaitu
hibernate.properties atau hibernate.cfg.xml. Tetapi yang sering digunakan
adalah hibernate.cfg.xml karena dinilai lebih fleksibel.
Fitur hibernate :
- Fitur pemetaan yang fleksibel
- Fitur pemetaan seperti inheritance dan polymorphism
- HLQ(Hibernate Query Language) yang bebas vendor databse
- Assosiasi join secara otomatis
- Tidak akan mengupdate objek yang tidak dimodifikasi
- Mengurangi penulisan baris kode program
Coding Hibernate :
<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property
name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property
name="hibernate.connection.url">jdbc:mysql://localhost:3306/person</property>
<property
name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"/>
<property
name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>Download PDF disini aja