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