Hibernate menggunakan bahasa kueri yang kuat (HQL) yang mirip SQL. Dibandingkan dengan SQL, HQL lebih mengarah ke object-oriented dan memahami pengertian seperti pewarisan, polymorphism dan Asosiasi.
Sensifitas dari HQL :
Dengan pengecualian nama kelas pada Java dan properti, contohnya case-insensitive. terjadi
SeLeCT
sama dengan sELEct
atau bisa juga SELECT
, tetapi org.hibernate.eg.FOO
tidak samaorg.hibernate.eg.Foo
,contoh lain foo.barSet
berbeda dengan foo.BARSET
. penulisan query dalam HQL huruf kecil atau besar tidak sensitive. Namu ada beberapa kode-kode tertentu penggunaan huruf besar yang tidak boleh digunakan karena konvensi ini tidak cocok untuk perintah yang sudah tertanam pada kode Java.
berikut adalah contoh sederhana pada query hibernate :
from eg.Cat
Hal ini mengembalikan contoh dari kelas
eg.Cat
. biasanya tidak perlu memenuhi syarat nama kelas, karena auto-import
default. Sebagai contoh: from Cat
untuk menunjuk ke from cat contoh lain dalam penggunaan anda dapat memakai
penggunaan
query alias Sebagai contoh :
from Cat as cat
Anda bisa juga menulis:
from Cat cat
berikut contoh penggunaan yang baik untuk query alias, karena ini konsisten dengan
standar penamaan dalam java untuk variabel local misal domesticC :
from Formula, Parameter
from Formula as form, Parameter as param
Beberapa contoh HQL (hibernate query languange) :
Hibernate membuat bahasa baru yang bernama Hibernate Query Language (HQL),
sintaks yang sangat mirip dengan bahasa SQL database. Perbedaan utama adalah
HQL menggunakan nama kelas dan properti bukan nama tabel dan nama kolom
1. Contoh HQL SELECT
Mengambil data stok yang dimana kode stok adalah "7277″.
Query query = session.createQuery("from Stock where stockCode = :code "); query.setParameter("code", "7277"); List list = query.list();
Query query = session.createQuery("from Stock where stockCode = '7277' "); List list = query.list();
2. Contoh HQL UPDATE
mengupdate nama stok untuk "DIALOG1″ di mana kode stok adalah"7277″.
Query query = session.createQuery("update Stock set stockName = :stockName" + " where stockCode = :stockCode"); query.setParameter("stockName", "DIALOG1"); query.setParameter("stockCode", "7277"); int result = query.executeUpdate();
Query query = session.createQuery("update Stock set stockName = 'DIALOG2'" + " where stockCode = '7277'"); int result = query.executeUpdate();
3. Contoh query HQL DELETE
Menghapus stok di mana kode stok adalah "7277″.
Query query = session.createQuery("delete Stock where stockCode = :stockCode"); query.setParameter("stockCode", "7277"); int result = query.executeUpdate();
Query query = session.createQuery("delete Stock where stockCode = '7277'"); int result = query.executeUpdate();
4. Contoh query HQL INSERT
"insert into Object (id, name) select oo.id, oo.name from OtherObject oo";
Query query = session.createQuery("insert into Stock(stock_code, stock_name)" + "select stock_code, stock_name from backup_stock"); int result = query.executeUpdate();
Contoh programnya :
1. buat database sakila pada tab services netbeans atau bisa juga pada phpadmin atau mysql comanline :
setelah itu klik ok
2. buat proyek pada netbeans anda dengan nama DVDStoreAdmin
3. buat file hibernate konfigurasi yaitu hibernate.cfg.xml bisa liat gambar berikut :
modifikasi file hibernate, berikut kodenya :
tambahkan hibernate propert
dikotakdialog ini pilih proprti name nya : hibernate.show_sql dan properti valuenya pilih true
Click Add under the Miscellaneous Properties dan pilih hibernate.query.factory_class pada nama properti.
org.hibernate.hql.classic.ClassicQueryTranslatorFactory untuk value propertinya, klik ok:
4. Membuat klas HibernateUtil.java seperti gambar di bawah ini :
setelah klik finish anda dapat langsung ke tahap selanjutnya karena anda tidak perlu mengdit file ini.
5. Berikut ini adalah pembuatan file hibernate dan file pojo untuk database seperti gambar berikut:
setelah klik finish akan menghasilkan file pojo actor.java dan hibernate.reveng.xml sesuai dengan pengaturan gambar diatas, untuk lebih jelasnya berikut gambar direktori yang di hasilkan:
berikut souce kode pada masing - masing klas tersebut :
hibernate.reveng.xmlActor.hbm.xml
Actor.java
- buat sebuah desain form seperti berikut :
berikut souce code untuk form diatas :
DVDStoreAdmin.java
setelaha souce code pada klas DVDStoreAdmin.java disesuaikan dengan yang di atas langkah selanjutnya jalankan program klik kanan pada klas DVDStoreAdmin.java pilih Run, setelah itu isikan first name dan last name actor kemudian klik Query, hasil eksekusi dari query akan mencari data sesuai pada database.
Ket : pada output dibawah saya sengaja hanya mengisikan nama depan dari actor
7. Hasil Output Program :
Selesai
Download souce codenya disini thaks...
sumber neatbeans.org docs.jboss.org
2 komentar:
nice tutorial...:) good job..
thanks Bu Nurul :)
Post a Comment