Шта је ХКЛ?

ХКЛ је скраћеница за хибернативни језик упита. Хибернате је платформа за повезивање традиционалних база података с објектно оријентисаним језиком (конкретно ЈАВА). Језик упита у стању хибернације сличан је СКЛ-у у традиционалном РДБМС-у, осим што уместо табела користимо ентитет у ХКЛ-у. Написано је уграђено у ЈАВА код, а различите функције из ЈАВА библиотеке користе се за претворбу ХКЛ-а у СКЛ. Може се назвати објектно оријентисаним језиком који је утиснут изразима СКЛ упита. То је флексибилан и усер-фриендли језик који има сопствену синтаксу и граматику за преузимање, складиштење, ажурирање података из базе података. Умањује неусклађеност импеданце између ЈАВА и РДБМС.

Зашто нам треба ХКЛ?

Како се важност ЈАВА-е као језика за платформе попут Интернета повећава, сматрамо да је релевантније повезати нашу апликацију засновану на ЈАВА-и уз помоћ хибернације. Хибернате користи ХКЛ језик уместо тога како би успоставио везу између базе података и прочеља.

ХКЛ нам треба када желимо одабрати нека одређена поља и ступце према нашим захтјевима. Методе усвојене раније нису биле довољно ефикасне да се изврше до тог нивоа, на пример дохваћање скупа резултата или скупа података из базе података као целокупног записа са бројем редова и ступаца. Овакав приступ не даје флексибилност за сужавање претраживања и чини апликацију тешком и споро. Овај приступ користе ЈДБЦ Цоннецторс, асп.нет и многи други језици. Употреба ХКЛ-а смањује овај временски јаз и даје специфичне резултате. Стога је важније користити се у реалном времену у којем је ЈАВА укључена у предњи крај.

Како функционише ХКЛ?

ХКЛ је КСМЛ формат датотеке за повезивање Јава с предњег краја на базу података са задње стране. СКЛ упити које директно активирамо у бази података користећи скл упите могу се записати и у хкл. ХКЛ има своју синтаксу у коју можемо уписати упит, а затим се тај упит претвара у СКЛ изјаве које база података може разумјети. Ово је написано на јава језику како би се смањила неусклађеност импеданце.

ХКЛ је неосјетљив језик осим назива класа и ентитета. На пример: орг.хибернате.ег.тест није једнак орг.хибернате.ег.Тест јер су „тест“ и „Тест“ два различита ентитета у ХКЛ-у.

Напомена: СКЛ у ХКЛ упитима можемо директно користити користећи матични код.

Предности ХКЛ-а

Постоји неколико предности ХКЛ-а као језика:

  1. Кодер нема никакву обавезу да научи СКЛ језик.
  2. ХКЛ је објектно оријентисан и његове перформансе су добре када повежемо нашу предњу апликацију са позадином.
  3. ХКЛ има меморију за кеширање и на тај начин побољшава брзину.
  4. ХКЛ подржава популарне карактеристике ООП концепата попут полиморфизма, насљеђивања и повезаности.

Синтакса заједно са примерима ХКЛ упита

Неколико једноставних упита у стању хибернације изгледају као:

ОД клаузуле:

From eg.Test or From Test.

Ова изјава ће вратити све инстанце класе. У овом случају, то је Тест. Такође можемо да створимо псеудоним за нпр .: Из теста као теста. Овде је "тест" надимак теста. Овај псеудоним може касније бити коришћен уместо наставе.

Пример # 1

String hqlquery = "FROM Test";
Query q = session.createQuery(hqlquery);
List display = q.list();
AS Clause: From eg.Test AS T or From Test AS T.

Ова се изјава користи када желимо створити псеудониме главних класа ХКЛ-а. Ово је корисна техника у случају да имамо дуге упите. Једноставно можемо додијелити упит алиасу и затим га користити за даљње поступање са подацима. Алиасинг се може обавити и без АС кључне речи. На пример: Из теста Т.

Пример бр. 2

String hqlquery = "FROM Test AS T";
Query q = session.createQuery(hqlquery);
List display = q.list();
WHERE Clause: From eg.Test T WHERE T.code=102 or From Test T WHERE T.code=102.

Ова одредба се користи када претражујемо одређене податке у табели базе података. Дакле, ако тражимо одређени запис на основу тестног кода који имамо, ова се клаузула користи у упиту. Ово ће помоћи у сужавању критеријума за претрагу. Ако дајемо примарни кључ ф таблици у којој је клаузула, тада бисмо требали видјети значајно побољшање брзине претраживања.

Пример бр. 3

String hqlquery = "FROM Test T WHERE T.code = 102";
Query q = session.createQuery(hqlquery);
List display = q.list();
SELECT Clause:
From eg. SELECT T.number FROM Test T.

Ова реченица се користи ако желимо одабрати таблицу из базе података. Ово је један од начина сужавања критеријума за претрагу. Шта год да у пољу за одабир додијелимо само оно поље које ћемо одабрати. Корисно је набавити малу количину података ако о њима имамо одређене информације.

Пример бр. 4

String hql = "SELECT E.firstName FROM Employee E";
Query query = session.createQuery(hql);
List results = query.list();
DELETE Clause:
String hqlexample = "DELETE FROM Test " +
"WHERE code = : test_code";

Ова реченица у упиту може се користити за брисање једног или више објеката из повезане табеле базе података. На овај начин се могу избрисати и „пролазни“ и „постојани“ објекти. Ово је једноставан упит за брисање било ког броја поља или табела из базе података. Ово треба пажљиво користити.

Пример бр. 5

String hqlquery = "DELETE FROM Test " +
"WHERE code = : test_code";
Query q = session.createQuery(hqlquery);
q.setParameter("test_code", 102);
int display = q.executeUpdate();
System.out.println("Hence the number of rows modified are: " + display);

Закључак

Стога је ХКЛ елегантан објектно оријентисан језик који премошћује јаз између објектно оријентисане ЈАВА и система за управљање базама података. Са највишим тржишним учешћем хибернативни језик упита постаје популарни језик на којем се ради.

Препоручени чланци

Ово је водич за ХКЛ. Овдје разговарамо о томе зашто нам је потребан ХКЛв с предностима, радом и синтаксом, уз примјере упита. Можда ћете такође погледати следеће чланке да бисте сазнали више -

  1. Хибернате Фрамеворк
  2. Хибернате Сессион
  3. Питања о хибернацији за интервју
  4. Шта је Јава хибернација?

Категорија: