..
Хајде сада да видимо како да креирате ОРМ слој користи Хибернате 3 и ЈПА 2 (за правилно разумевање овог лекција, претпоставља се да читалац има основна знања о изворима података и рад Хибернате и ЈПА).
Претпоставимо да имамо ДБ- МиСКЛ- инсталиран на наше машине, први хајде да дефинишемо наше апплицатионЦонтект.кмл извор података који се повезује на наш ДБ-а:
<- Извора података -> <беан ид="миДатаСоурце" цласс="орг.апацхе.цоммонс.дбцп.БасицДатаСоурце" дестрои-метход="цлосе"> <проперти наме="дриверЦлассНаме" валуе="цом.мискл.јдбц.Дривер" /> <проперти наме="урл" валуе="јдбц:мискл://лоцалхост:3306/мрвеб" /> <проперти наме="усернаме" валуе="мрвеб" /> <проперти наме="пассворд" валуе="с3црет" /> </ Бин>Једном ми стварамо извор података креиран за ЈПА упорност која се налази у датотеци МЕТА-ИНФ/персистенце.кмл:
<Ксмл версион = "1.0" енцодинг = "утф-8"?> <Упорност КСМЛнс = "хттп://јава.сун.цом/кмл/нс/персистенце" КСМЛнс: кси = "хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце" кси: сцхемаЛоцатион = "хттп://јава.сун.цом/кмл/нс/персистенце хттп://јава.сун.цом/кмл/нс/персистенце/персистенце_2_0.ксд" версион = "2.0"> <персистенце-унит наме="пу" трансацтион-типе="РЕСОУРЦЕ_ЛОЦАЛ" /> </ Упорност>У овом тренутку смо спремни да се интегришу са Хибернате и ЈПА:
<- ЈПА и Хибернате -> <беан ид="јпаВендорАдаптер" цласс="орг.спрингфрамеворк.орм.јпа.вендор.ХибернатеЈпаВендорАдаптер"> <проперти наме="датабасе" валуе="МИСКЛ" /> <проперти наме="сховСкл" валуе="труе" /> <проперти наме="генератеДдл" валуе="труе" /> </ Бин>Без ове наше цреаимо ЕнтитиМанагерФацтори који ће нам омогућити да убризга ДАО у нашу ЕнтитиМангер:
<- ФАБРИКА Манагер ЛИЦА -> <беан ид="ентитиМанагерФацтори" цласс="орг.спрингфрамеворк.орм.јпа.ЛоцалЦонтаинерЕнтитиМанагерФацториБеан"> <проперти наме="датаСоурце" реф="миДатаСоурце" /> <проперти наме="персистенцеУнитНаме" валуе="пу" /> <проперти наме="јпаВендорАдаптер" реф="јпаВендорАдаптер" /> </ Бин>Ентитет пример сада стварају Аутомобил:
ит.мрвебмастер.хибернате пакета;
увоз јава.утил.Дате;
јавак.персистенце.Цолумн увоза;
јавак.персистенце.Ентити увоза;
јавак.персистенце.ГенератедВалуе увоза;
јавак.персистенце.Ид увоза;
јавак.персистенце.ПерсистенцеУнит увоза;
@ Ентитета
@ ПерсистенцеУнит (унитНаме = "може")
публиц цласс Ауто {
@ Оверриде
публиц Стринг тоСтринг () {
повратак "Ауто [ИД =" + ид + "име =" + име + ", иеар =" + година + "]";
}
@ ИД
@ ГенератедВалуе
привате Стринг ид;
@ Колона
привате Стринг име;
@ Колона
приватне Датум године;
јавне Интегер гетИд () {
повратак ИД;
}
публиц Стринг гетНаме () {
повратак име;
}
Датум јавне гетИеар () {
повратак године;
}
публиц воид сетИд (Интегер ид) {
тхис.ид = ИД;
}
публиц воид сетНаме (Стринг име) {
тхис.наме = име;
}
публиц воид сетИеар (Датум година) {
тхис.иеар = години;
}
}
Наши ентитета има само три колоне: ИД, Име, и годину, где ИД колона је наш примарни кључ који ће се аутоматски генерише хибернације.
<- ЈПА НАПОМЕНА -> <беан цласс="орг.спрингфрамеворк.орм.јпа.суппорт.ПерсистенцеАннотатионБеанПостПроцессор" />чини непотребно да одредите, у оквиру истрајност јединице, списак субјеката у нашој апликацији.
| |
Линук (курс)
Комплетан водич за опен-соурце систем. Од 49 €. |
| |
ПХП (курс)
Цео курс за креирање динамичких веб сајтова. Од 49 €. |
| |
Руби и Руби он Раилс (курс)
Израду софтвера и веб апликација са рубином и РОР. Од 39 €. |