..


Linki sponsorowane

Dostęp do danych - Tworzenie DAO i zarządzania transakcjami

Powołując się na przykład w poprzednim ustępie, widzimy, jak stworzyć DAO do samochodów podmiotu.

Przede wszystkim creaimo interfejs z metod opartych na DAO, a mianowicie: load, save, aktualizacji i usunięcia.






 pakiet it.mrwebmaster.hibernate.dao;









 import it.mrwebmaster.hibernate.Car;









 {Public interface CarDao





  



 publicznych obciążenia samochodu (Integer id);



	

  



 zapisz publicznej samochodów (Car);



	

  



 publicznej aktualizacji samochodów (Car);



	

  



 public void remove (Car);







 }



Utworzono przejść interfejs do tworzenia realizacji:





 pakiet it.mrwebmaster.hibernate.dao;









 import it.mrwebmaster.hibernate.Car;









 import javax.persistence.EntityManager;







 import javax.persistence.PersistenceContext;









 org.springframework.transaction.annotation.Transactional importu;









 @ Transakcyjna







 CarDaoImpl {public klasa implementuje CarDao





  



 @ PersistenceContext (unitName = "może")



  



 prywatnych EntityManager em;



	

  



 @ Override



  



 public void remove (Car) {



    



 em.remove (char);



  



 }





  



 @ Override



  



 @ Transakcyjna (readonly = true)



  



 publicznych obciążenia samochodu (Integer id) {



    



 powrót em.find (Car.class, id);



  



 }





  



 @ Override



  



 zapisz publicznej samochodów (Car) {



    



 em.persist (char);



    



 zwrotu pojazdu;



  



 }





  



 @ Override



  



 publicznej aktualizacji samochodów (Car) {



    



 powrót em.merge (char);



  



 }





  



 public void setEm (EntityManager em) {



    



 this.em = em;



  



 }





  



 getEm publiczną EntityManager () {



    



 return p;



  



 }







 }



i wreszcie w "applicationContext.xml:





 <- CAR DAO ->







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



Jak widać do realizacji nost DAO musimy EntityManager, który wstrzykuje się bezpośrednio od nas "za pomocą adnotacji @ PersistenceContext IoC.

Implementacje tych metod są trywialne, po prostu delegować all'EntityManager pracy. Jeśli chodzi o zarządzanie transakcjami, zdecydował się na stosowanie @ transakcyjna adnotacji. To pozwala wiosną, aby utworzyć instancję naszej DAO będzie korzystać z serwera proxy, którego zadaniem jest otworzyć i zamknąć transakcję przed wywołaniem metody i zaraz po "wyjściu z samej metody robi commit lub rollback w przypadku błędu.
Uwaga, wreszcie wykorzystanie @ transakcyjna dla ReadOnly nell'annotation metody obciążenia, w ten sposób stworzył przejście tylko do odczytu.

To zarządzania transakcjami odbywa się za pomocą AOP, aby umożliwić mu po prostu dodać do naszego applicazionContext.xml:






 <- Zarządzanie transakcjami ->







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



  



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







 </ Bean>







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



Wiosna Java Przewodnik
E-Learning
Linux (Kurs) Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €.
PHP (Kurs) PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €.
Ruby i Ruby on Rails (Kurs) Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €.
Linki sponsorowane