..


Sponzorované odkazy

Přístup k datům - Vytvoření DAO a správu transakcí

S odkazem na příklad předchozího odstavce, vidíme, jak vytvořit DAO účetní jednotky do auta.

Především creaimo rozhraní s metodami založenými na DAO, a to: načíst, uložit, aktualizace a mazání.






 it.mrwebmaster.hibernate.dao balení;









 it.mrwebmaster.hibernate.Car dovoz;









 {Public interface CarDao





  



 Veřejné kryté zatížení (Integer id);



	

  



 uložit veřejné Car (Auto);



	

  



 Aktualizace veřejné Auto (Auto);



	

  



 public void odstranit (Auto);







 }



Vytvořeno rozhraní projít při vytváření realizace:





 it.mrwebmaster.hibernate.dao balení;









 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")



  



 soukromé EntityManager em;



	

  



 @ Override



  



 public void odstranit (Auto) {



    



 em.remove (char);



  



 }





  



 @ Override



  



 @ Transakční (readonly = true)



  



 Veřejné kryté zatížení (Integer id) {



    



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



  



 }





  



 @ Override



  



 uložit veřejné Car (Auto) {



    



 em.persist (char);



    



 vrácení vozu;



  



 }





  



 @ Override



  



 Aktualizace veřejné Auto (Auto) {



    



 em.merge návratu (char);



  



 }





  



 public void setEm (EntityManager em) {



    



 this.em = em;



  



 }





  



 getEm veřejné EntityManager () {



    



 návrat p;



  



 }







 }



a konečně v "applicationContext.xml:





 <- CAR DAO ->







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



Jak je vidět na provedení nost DAO potřebujeme EntityManager, který je vstřikován přímo od nás "pomocí anotace @ IoC PersistenceContext.

Implementace jednotlivých metod je triviální, prostě delegovat práci all'EntityManager. Pokud jde o řízení transakcí, se rozhodla používat @ transakční poznámky. To umožňuje jara vytvořit instanci našeho DAO bude používat proxy server, jehož úkolem je otevřít a zavřít transakci před voláním metody a ihned po "odchodu z vlastní metodu dělat commit nebo rollback v případě Chyba.
Všimněte si, konečně, užívání @ transakční pro ReadOnly nell'annotation zatížení metodu, přitom vytvořil přechod jen pro čtení.

Tato transakce management se provádí pomocí AOP, aby to jen přidat do naší applicazionContext.xml:






 <- Management transakcí ->







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



  



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







 </ Bean>







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



Jarní Java Průvodce
E-Learning
Linux (kurz) Linux (kurz)
Kompletní průvodce pro open-source systému. Od 49 €.
PHP (kurz) PHP (kurz)
Celý kurz pro vytváření dynamických webů. Od 49 €.
Ruby a Ruby on Rails (kurz) Ruby a Ruby on Rails (kurz)
Vytvořit software a webových aplikací s Ruby a RoR. Od 39 €.
Sponzorované odkazy