Memahami fungsi hibernate.cfg.xml
Konfigurasi Hibernate pada dasarnya ada 2 jenis konfigurasi yaitu dengan Source Code java atau saya lebih sering sebut Java Config dan XML (hibernate.cfg.xml). Jaman sekarang Konfigurasi dengan XML udah sangat jarang karena mengikuti style Java yang berbau annotation (@Annotations). Tpi gak apa karena kita mau niatnya belajar jadi Ya ikutin aja ya… karena klo kita menggunakan XML juga gak ada ruginya kok toh XML juga lebih mudah dibaca dibandingkan Java Config.
Ok langsung aja buka lagi file hibernate.cfg.xml nya, kalo kita lihat seperti berikut:
Nah jadi konfigurasi yang wajib ada yaitu ada 2 hal yaitu
hibernate.dialecthibernate.connection.*
hibernate.dialect
Karena hibernate memiliki support database yang lumanyan banyak, maka kita harus tentukan dialect atau analogikanya seperti ini contohnya setiap negara punya bahasa masing masing di ibaratkan dengan DBMS seperti indonesia berhasasa indonesia sedangkan jepang berbahasa jepang tatapi bahasa internasinal tetap bahasa inggris. konsep tersebut juga serupa dengan hibernate ibaratnya bahasa internasinal. jadi apapun databasenya Hibernate harus menentukan targetnya akan di proses ke database apa atau bisa dikatakan Translator. itulah fungsi dari hibernate.dialect
beberapa hibernate.dialect yang paling sering digunakan atau berdasarkan database yang popular
| Database Name | hibernate.dialect |
|---|---|
| Oracle | org.hibernate.dialect.OracleDialect |
| MySQL | org.hibernate.dialect.MySQLDialect |
| SQL Server | org.hibernate.dialect.SQLServerDialect |
| PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
| HSQL | org.hibernate.dialect.HSQLDialect |
| DB2 | org.hibernate.dialect.DB2Dialect |
hibernate.connection.*
Untuk hibernate.connection ini pada dasarnya Untuk menentukan username, password, nama database dan lain-lain yang berkaitan dengan koneksi ke database.
hibernate.show_sql
Property ini fungsinya untuk menampilkan SQL yang di execute oleh hibernate seperti Data Definition Language (CREATE, ‘ALTER’, dan ‘DROP’), Data Manipulation Language (INSERT, ‘UPDATE’, dan DELETE) serta perintah Querty (‘SELECT’).
berikut perintahnya:
<property name="hibernate.show_sql">true</property>hibernate.show_sql hanya bernilai:
true(untuk menampilkan SQL statement)false(untuk mengembungikan SQL statement)
hibernate.hbm2ddl.auto
Property ini digunakan untuk meng-generate table yang dibuat berdasarkan JavaBeans atau POJO yang menggunakan mapping hibernate (hbm.xml) atau annotation (@Entity).
Berikut perintahnya:
<property name="hibernate.hbm2ddl.auto">create</property>hibernate.hbm2ddl.auto ini pada dasarnya terdapat 4 yaitu:
create, ketikaSessionFactorydipanggil maka dia akancreate tabletetapi setelahSessionFactoryberakhir atau diclosedatanya akan dihapus (delete).create-drop, ketikaSessionFactorydipanggil maka dia akandrop tableyang ada setelah itu baru diacreate tableupdate, ketikaSessionFactorydipanggil pertama kali maka dia akancreate tabletetapi ketika ke dua kalinya sampai seterunya maka jika table dalam databasenya udah ada maka diaupdateatau perintah sqlnyaaltertetapi jika kalo yang berubah adalah field atau column atau atribute maka dia akan membuat field tersebutadd columnbukanalter column renamevalidate, ketikaSessionFactorydipanggil maka dia tidak akan melakukan generate karena fungsinya hanya melakukan check aja. keteka table yang di panggil tidak ada maka terjadi error.
Yuk simak juga videonya,
Dan jika temen-temen belajar hal baru kali ini jangan lupa buat Like, Subcribe, dan Share ke temen kalian. Terimakasih!!!