Hibernate Query LanguageA Hibernate Query Language (HQL) a Hibernate saját, az SQL-hez nagyon hasonló lekérdező nyelve. Az SQL-el szemben azonban teljesen objektumorientált, így olyan lekérdezéseket írhatunk benne, melyekben a táblák és oszlopok helyett osztályneveket és adattagokat használhatunk. A HQL objektum-relációs modellre épül, rendkívül erőteljes, kezeli az öröklődést, a polimorfizmust és az asszociációt. A Java osztályok és tulajdonságok kivételével a lekérdezések kis- és nagybetű érzéketlenek, tehát a SeLeCT megegyezik a sELEct-el illetve SELECT-tel, de az org.hibernate.eg.FOO nem azonos az org.hibernate.eg.Foo-val. A HQL használatának előnyei
from Cat as cat
nem csak a Cat osztály, hanem annak leszármazottjainak a példányait is visszaadja.
HQL szintaxisának megértéseMinden HQL a következő elemeket tartalmazhatja:
HQL klózok
Összesítő függvényekHQL lekérdezések összesítő függvények eredményét is visszaadhatják. A támogatott függvények a következők:
Aritmetikai operátorok, konkatenáció és SQL függvények is szerepelhetnek a select záradékban. Példák: select cat.weight + sum(kitten.weight)
from Cat cat
join cat.kittens kitten
group by cat.id, cat.weight
select firstName||' '||initial||' '||upper(lastName) from Person
AllekérdezésekAz allekérdezés nem más, mint egy lekérdezésbe ágyazott lekérdezés. Külső hivatkozások |