Hibernate Query Language

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 sama
org.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.xml

Actor.hbm.xml




Actor.java
 
 
 

6. Membuat aplikasi GUI,
  • 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:

Post a Comment