Увод у хибернацијску архитектуру
Пре него што се упустимо у хибернатску архитектуру, погледајмо зашто се хибернација појавила на слици и која је сврха за нас. Хибернате је ОРМ (Објецт Релатионал Маппинг) алат за јава програмски језик за развој логике постојаности базе података засноване на објектима. Хибернате нуди слој апстракције за преузимање и чување података у бази података.
Зашто презимити?
ЈДБЦ (Јава Датабасе Цоннецтивити) зависи од базе података. Да будемо прецизнији, писање упита које треба покренути из ваше апликације помоћу ЈДБЦ зависи од базе података са којом радите. Ако радите са МиСКЛ или Орацле, ваша питања ће бити другачија. Дакле, ако је усред пројекта потребно да промените базу података која ће захтевати и промену кода, а ми то наравно не желимо. Док хибернација користи Хибернате језик упита хибернације независно од базе података. Укратко, хибернација се брине за већину онога што програмер има са ЈДБЦ-ом, на пример. Отварање везе према ДБ-у, затварање веза, руковање разним изузецима.
Па уђимо у хибернатску архитектуру да боље разумемо како је Хибернате толико олакшао упорност података.
Хибернате Арцхитецтуре
Главни концепт било којег ОРМ-а је замјена писања СКЛ упита специфичних за базу података манипулирањем објектима.
Једноставно речено,
- креирате ПОЈО (Обичан стари Јава објект)
- додијелити вриједности пољима помоћу сетера
- реците мировати да устраје на тим објектима
Хибернација пресликава Јава класе у таблице база података (што такође укључује мапирање јава типова података у СКЛ типове података).
Тако вам одузима бол због претварања јава поља у типове података подржаних СКЛ-а. Хибернација то ради за вас.
Такође програмеру ослобађа бол од руковања резултатима.
Јава апликација
Развијајући логику упорности, морамо имати подршку неких ресурса у јава апликацији. Погледајмо ове ресурсе.
Срце сваке хибернацијске апликације лежи у њеној конфигурацији која се обавља помоћу,
- Конфигурациона датотека
- Мапирање датотеке
Датотека за конфигурацију хибернације
Дефинишемо својства која спавају хибернирајуће податке са којом базом података мора да комуницира и са којим управљачким програмом ЈДБЦ треба да се користи. Хибернате користи конфигурацијску датотеку за добивање свих ових информација.
Иако је Хибернате способан за генерисање упита базе података, можемо одредити дијалект да бисмо му помогли да генерише бољи СКЛ за потребну базу података.
На пример, следећа су својства која ћете обично поставити у пролећној апликацији за покретање система
Датотека за хибернацију о хибернацији
Садржи све дефиниције мапирања између класе и табеле. Сваки ОРМ алат треба датотеку за мапирање. Користимо следеће начине да кажемо Хибернату која вредност објекта мора бити смештена у који ступац табеле.
- КСМЛ
- Биљешке
Синтакса кмл датотеке за мапирање у пролеће,
Слиједи како напомињемо варијаблу инстанце која би се требала пресликати у ступац ретка у бази података.
Класа домена
Као што знамо Хибернате је познат по развијању логике постојаности засноване на објектима. Дакле, класа домена је ПОЈО који се пресликава у табелу у бази података.
Конфигурација
Да би створио везу са базом података, Хибернате мора да зна детаље базе података, класе и друге детаље. Објект конфигурације креира се једном када се апликација иницијализира. Углавном је одговоран за покретање хибернације на апликацији. Конфигурацијски објект користи конфигурацијску датотеку и хибернацијску датотеку за мапирање да изведе сљедеће кораке:
- Учитајте ове датотеке.
- Провера да ли су ове датотеке добро формиране и валидне.
- Ствара метаподатке ове две датотеке у меморији.
- Вратите објект који садржи ове метаподатке.
Сессион Фацтори
Фабрика сесија користи се за креирање објеката сесије. Креира га објекат конфигурације. Омогућава слој апстракције, тако да не морамо бринути о томе како је објект сесије створен. То је глобална фабричка класа за креирање сесија. Користећи објект конфигурације, добијамо приступ подацима у меморији створеним из датотеке за конфигурацију и мапирање.
Одатле добија ЈДБЦ својства - име управљачког програма, УРЛ извора података, корисничко име, лозинку итд. Користећи ове особине, креираће објекте повезивања, што представља повезаност са базом података.
Помоћу ових веза креира се базен веза. Све информације из конфигурацијског објекта и базе података користе се за стварање и враћање сесијског објекта. Дакле, фабрички објект сесије је објект тешке тежине. Свака фабрика сесија конфигурирана је за рад са одређеном базом података користећи један од наведених дијалеката хибернације.
Седница
Једна ствар коју треба напоменути је да није повезана са сесијом сервлета или сесијом јава поште. Сједница је приступ нашој бази података. То ствара мост од наше апликације до базе података. Створила га је фабрика сесија. Он узима објект повезивања и отвара везу / сесију према бази података и омогућава апликацији да изводи истрајне операције у бази података.
У ОРМ алату изводите све операције попут ИНСЕРТ, ДЕЛЕТЕ и УПДАТЕ користећи објектно оријентисану семантику, што значи да се више не односи на табеле, редове и ступце. Рад сесије је да радите све упорне операције за вас.
Трансакција
Трансакција је краткотрајни објект који представља јединствену радну јединицу попут спремања или брисања објекта у табели у бази података. Апликацију апстрактује од основне трансакције која је извршена коришћењем ЈДБЦ, ЈТА (Јава Трансацтион АПИ) итд.
Унутра, хибернирајте користећи ЈДБЦ, ЈТА, ЈНДИ (Јава Наминг и Дирецтори Интерфаце) за генерирање СКЛ упита за конфигурирану базу података.
Закључак
У овом смо чланку погледали како слојевита архитектура хибернације помаже програмеру да ради с базом података без да мора знати детаље основних АПИ-ја попут ЈДБЦ, ЈТА и ЈНДИ. Научили смо како мировање олакшава наш живот руковањем већином кода плоче, као што је отварање / затварање везе са базом података. Надамо се да вам ово даје јасно разумевање хибернативне архитектуре, због чега ћете започети са кориштењем хибернатског оквира у својим апликацијама.
Препоручени чланци
Ово је водич за хибернацијску архитектуру. Овде смо расправљали о слојевитој архитектури хибернације заједно са Јава апликацијом. Такође можете погледати следећи чланак да бисте сазнали више -
- Шта је хибернација?
- Хибернате Фрамеворк
- Питања о хибернацији за интервју
- Шта је Јава хибернација?