..


Спонсоред Линкс

Приступ подацима - Креирање ДАО и трансакције менаџмент

Позивајући се на пример претходног става, видимо како да креирате ДАО ентитету ауто.

Пре свега цреаимо интерфејс са методама на бази ДАО, и то: лоад, саве, ажурирање и брисање.






 ит.мрвебмастер.хибернате.дао пакета;









 ит.мрвебмастер.хибернате.Цар увоза;









 {Јавни интерфејс ЦарДао





  



 јавним паркиралиштима оптерећење (Интегер ид);



	

  



 сачувате јавним паркиралиштима (ауто);



	

  



 ажурирање јавним паркиралиштима (ауто);



	

  



 публиц воид уклонити (ауто);







 }



Креираног интерфејса проћи у стварању реализацију:





 ит.мрвебмастер.хибернате.дао пакета;









 ит.мрвебмастер.хибернате.Цар увоза;









 јавак.персистенце.ЕнтитиМанагер увоза;







 јавак.персистенце.ПерсистенцеЦонтект увоза;









 орг.спрингфрамеворк.трансацтион.аннотатион.Трансацтионал увоза;









 @ Трансакциона







 ЦарДаоИмпл {публиц цласс спроводи ЦарДао





  



 @ ПерсистенцеЦонтект (унитНаме = "може")



  



 приватне ЕнтитиМанагер ем;



	

  



 @ Оверриде



  



 публиц воид уклонити (ауто) {



    



 ем.ремове (цхар *);



  



 }





  



 @ Оверриде



  



 @ Трансакционе (реадонли = труе)



  



 јавним паркиралиштима оптерећење (Интегер ид) {



    



 повратак ем.финд (Цар.цласс, ИД);



  



 }





  



 @ Оверриде



  



 сачувате јавним паркиралиштима (ауто) {



    



 ем.персист (цхар *);



    



 повратак аутомобил;



  



 }





  



 @ Оверриде



  



 ажурирање јавним паркиралиштима (ауто) {



    



 ем.мерге вратити (цхар *);



  



 }





  



 публиц воид сетЕм (ЕнтитиМанагер ЕМ) {



    



 тхис.ем = ем;



  



 }





  



 гетЕм јавни ЕнтитиМанагер () {



    



 повратак П;



  



 }







 }



и коначно у "апплицатионЦонтект.кмл:





 <- АУТО ДАО ->







 <беан ид="царДаоИмпл" цласс="ит.мрвебмастер.хибернате.дао.ЦарДаоИмпл" />



Као што се може видети да спроведе ДАО ност нам је потребна ЕнтитиМанагер, који се убризгава директно од нас 'кроз употребу МОК коментара @ ПерсистенцеЦонтект.

Имплементација сваке методе су тривијалне, једноставно делегат алл'ЕнтитиМанагер рад. Што се тиче трансакције менаџмент, је изабрао да користи @ Трансакциона коментара. Ово омогућава пролеће да створи пример нашег ДАО ће користити прокси, чији је посао за отварање и затварање трансакције пре него што је позив на методу и одмах након "изласка из самог метода ради урезивање или враћање у случају грешка.
Имајте на уму, коначно, употреба @ Трансакционе за реадонли нелл'аннотатион оптерећења методом, при томе је направио транзицију само за читање.

Ова трансакција за управљање се врши преко употребу АОП, како би га само додати на наш апплицазионЦонтект.кмл:






 <- Трансакција менаџмент ->







 <беан ид="трансацтионМанагер" цласс="орг.спрингфрамеворк.орм.јпа.ЈпаТрансацтионМанагер">



  



 <проперти наме="ентитиМанагерФацтори" реф="ентитиМанагерФацтори" />







 </ Бин>







 <тк:аннотатион-дривен трансацтион-манагер="трансацтионМанагер" />



Пролеће Јава Водич
Е-учење
Линук (курс) Линук (курс)
Комплетан водич за опен-соурце систем. Од 49 €.
ПХП (курс) ПХП (курс)
Цео курс за креирање динамичких веб сајтова. Од 49 €.
Руби и Руби он Раилс (курс) Руби и Руби он Раилс (курс)
Израду софтвера и веб апликација са рубином и РОР. Од 39 €.
Спонсоред Линкс