HQL – Hibernate Query Language

hibernate
  • Turgay Can
  • Tarih

    21 Apr, 2012
  • Yorum

    0
  • Görüntüleme

    2101
  • İndirme

    0

HQL – Hibernate Query Language

Hibernate’te kullanılan sorgulama dili olan HQL, genel anlamda SQL’e benzer. SQL’e benzer ancak aslında temelde aralarında çok büyük farklar vardır. SQL (Structured Query Language) veri tabanı nesneleri ile birlikte çalışırken, HQL Java sınıflarıyla birlikte çalışır.

HQL kullanırken yazdığımız sorgularda küçük büyük harf duyarlı yazmamıza gerek yoktur. Yalnız HQL sınıflarla birlikte çalıştığı için sınıf isimlerini tanımlandıkları şekilde yazmamız gerekir. Örneğin Futbolcu adında bir sınıfımız varsa bu sınıfla ilgili sorgu yazarken diğer kullandığımız HQL terimlerinin nasıl yazıldığı önemli değil ancak sınıfın isminin Futbolcu olarak küçük büyük harfe dikkat ederek yazmamız gerekir.

Şimdi Hibernate’te en çok kullanılan HQL terimlerine bir göz atalım :

Select : Çok fazla kullanılmasa da nesnelerin hangi özelliklerinin döndürüleceğinin belirtildiği kısımdır. SQL’de tabloların kolonları gibi düşünebiliriz. Birçok farklı sınıftan birçok değişik özellik veri tabanından istenebilir.

Select cümleciğinin en büyük özelliği kendisinden sonra new operatörü ile yeni bir nesne instance’ı yaratılabilmesidir. Örneğin ;

Select new Futbolcu(Calisan adi) from Takim

… gibi

From : SQL’deki mantıkla çalışır. Veri tabanında from cümleciğinden sonra yazılan nesneye karşılık gelen tablo ile ilgilenir.

Join : SQL’deki tüm join tipleri de HQL’de aynen kullanılabilir.

- inner join
- left outer join
- right outer join

HQL’de join işlemleri join terimi yazılarak ve yazılmadan iki farklı şekilde yapılabilir.

Where : Nesneler için kısıtlamalar getirmemizi sağlayan terimdir. Where teriminden sonra yazacağımız değişkenin değerini setlerken genellikle “= :” ifadesinden sonra isim verilir. Değişken değeri daha sonradan atanır.

Query hql = session.createQuery(“From Futbolcu where adi = : futbolcuAdi”);

Hql.setParameter(“futbolcuAdi”, “Quaresma”);

Group by : Sorgu sonucu dönen nesnelerin gruplandırılmasını sağlayan terimdir.

Order by : Sorgu sonucu dönen nesnelerin sıralanmasını sağlayan terimdir. Order by’dan sonra yazdığımız özelliğe göre sıralama gerçekleşecektir.

Gördüğünüz gibi yapı olarak SQL dili ile benzer özellikler göstermektedir. Zaten HQL bu sayede öğrenmesi ve kullanması çok kolay bir dildir. Unutulmaması gereken şey Hibernate’in nesnelerle düzgün bir şekilde çalışabilmesi için sınıfların JavaBean nesneleri olarak yaratılması gerektiğidir.

Yazar : Erkin Pehlivan

0 Yorum..

Yorum yapmak için "Giriş yapın" yada "Misafir üye" olarak yorum yapabilirsiniz.

Yorum Yap