..


Sponzorované odkazy

Prístup k dátam - Vytvorenie DAO a správu transakcií

S odkazom na príklad predchádzajúceho odseku, vidíme, ako vytvoriť DAO účtovnej jednotky do auta.

Predovšetkým creaimo rozhranie s metódami založenými na DAO, a to: načítať, uložiť, aktualizácia a mazanie.






 it.mrwebmaster.hibernate.dao balenia;









 it.mrwebmaster.hibernate.Car dovoz;









 {Public interface CarDao





  



 Verejné kryté zaťaženie (Integer id);



	

  



 uložiť verejné Car (Auto);



	

  



 Aktualizácia verejné Auto (Auto);



	

  



 public void odstrániť (Auto);







 }



Vytvorené rozhranie prejsť pri vytváraní realizácie:





 it.mrwebmaster.hibernate.dao balenia;









 it.mrwebmaster.hibernate.Car dovoz;









 javax.persistence.EntityManager dovoz;







 javax.persistence.PersistenceContext dovoz;









 org.springframework.transaction.annotation.Transactional dovoz;









 @ Transakčné







 CarDaoImpl {public class implementuje CarDao





  



 @ PersistenceContext (unitName = "môže")



  



 súkromné ​​EntityManager em;



	

  



 @ Override



  



 public void odstrániť (Auto) {



    



 em.remove (char);



  



 }





  



 @ Override



  



 @ Transakčné (readonly = true)



  



 Verejné kryté zaťaženie (Integer id) {



    



 návrat em.find (Car.class, id);



  



 }





  



 @ Override



  



 uložiť verejné Car (Auto) {



    



 em.persist (char);



    



 vrátenie vozidla;



  



 }





  



 @ Override



  



 Aktualizácia verejné Auto (Auto) {



    



 em.merge návratu (char);



  



 }





  



 public void setom (EntityManager em) {



    



 this.em = em;



  



 }





  



 getEm verejné EntityManager () {



    



 návrat p;



  



 }







 }



a konečne v "applicationContext.xml:





 <- CAR DAO ->







 <bean id="carDaoImpl" class="it.mrwebmaster.hibernate.dao.CarDaoImpl" />



Ako je vidieť na prevedenie nos DAO potrebujeme EntityManager, ktorý je vstrekovaný priamo od nás "pomocou anotácie @ IOC PersistenceContext.

Implementácia jednotlivých metód je triviálne, jednoducho delegovať prácu all'EntityManager. Pokiaľ ide o riadenie transakcií, sa rozhodla používať @ transakčné poznámky. To umožňuje jari vytvoriť inštanciu nášho DAO bude používať proxy server, ktorého úlohou je otvoriť a zavrieť transakciu pred volaním metódy a ihneď po "odchode z vlastnej metódu robiť commit alebo rollback v prípade chyba.
Všimnite si, konečne, užívanie @ transakčné pre Readonly nell'annotation zaťaženie metódu, pritom vytvoril prechod len na čítanie.

Táto transakcia management sa vykonáva pomocou AOP, aby to len pridať do našej applicazionContext.xml:






 <- Management transakcií ->







 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">



  



 <property name="entityManagerFactory" ref="entityManagerFactory" />







 </ Bean>







 <tx:annotation-driven transaction-manager="transactionManager" />



Jarné Java Sprievodca
E-Learning
Linux (kurz) Linux (kurz)
Kompletný sprievodca pre open-source systému. Od 49 €.
PHP (kurz) PHP (kurz)
Celý kurz pre vytváranie dynamických webov. Od 49 €.
Ruby a Ruby on Rails (kurz) Ruby a Ruby on Rails (kurz)
Vytvoriť softvér a webových aplikácií s Ruby a ROR. Od 39 €.
Sponzorované odkazy