..


Liens sponsorisés

Accès aux données - Création de DAO et de gestion des transactions

Se référant à l'exemple du paragraphe précédent, nous voyons comment créer les DAO pour la voiture de l'entité.

Tout d'abord creaimo une interface avec des méthodes basées sur un DAO, à savoir: charger, enregistrer, mettre à jour et d'effacement.






 forfait it.mrwebmaster.hibernate.dao;









 les importations it.mrwebmaster.hibernate.Car;









 {Public interface CarDao





  



 Charge de stationnement public (Integer id);



	

  



 Enregistrer parking public (voiture automobile);



	

  



 mise à jour publique de voiture (voiture automobile);



	

  



 public void retirer (voiture automobile);







 }



Création d'interface passent dans la création de la mise en œuvre:





 forfait it.mrwebmaster.hibernate.dao;









 les importations it.mrwebmaster.hibernate.Car;









 les importations javax.persistence.EntityManager;







 les importations javax.persistence.PersistenceContext;









 les importations org.springframework.transaction.annotation.Transactional;









 @ Transactional







 CarDaoImpl {public class CarDao





  



 @ PersistenceContext (NomUnité = "peut")



  



 EntityManager em privés;



	

  



 @ Override



  



 public void retirer (voiture automobile) {



    



 em.remove (char);



  



 }





  



 @ Override



  



 @ Transactional (ReadOnly = true)



  



 Charge de stationnement public (Integer id) {



    



 retour em.find (Car.class, id);



  



 }





  



 @ Override



  



 Enregistrer parking public (voiture automobile) {



    



 em.persist (char);



    



 retour de la voiture;



  



 }





  



 @ Override



  



 mise à jour publique de voiture (voiture de voiture) {



    



 retour em.merge (char);



  



 }





  



 public void SETEM (EntityManager em) {



    



 this.em = em;



  



 }





  



 getEm publique EntityManager () {



    



 retour p;



  



 }







 }



et enfin dans «applicationContext.xml:





 <! - VOITURE DAO ->







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



Comme on peut le voir à l'œuvre le nost DAO nous avons besoin d'EntityManager, qui est injecté directement auprès de nous »par l'utilisation de la COI annotations PersistenceContext @.

Les implémentations de chaque méthode sont triviales, il suffit de déléguer la all'EntityManager travail. Quant à la gestion des transactions, a choisi d'utiliser l'annotation @ Transactional. Cela permet de printemps pour créer l'instance de notre DAO utiliser un proxy, dont le métier est d'ouvrir et de clôturer la transaction avant l'appel à une méthode et immédiatement après la sortie "de la méthode elle-même faire un commit ou un rollback en cas de erreur.
Notez, enfin, l'utilisation de l'@ Transactional pour la méthode de chargement ReadOnly nell'annotation, ce faisant, a créé une transition en lecture seule.

Cette gestion des transactions se fait par l'utilisation de l'AOP, pour lui permettre de simplement ajouter à notre applicazionContext.xml:






 <! - Gestion des transactions ->







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



  



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







 </ Bean>







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



Printemps de Java Guide
E-Learning
Linux (Cours) Linux (Cours)
Guide complet de système open-source. A partir de 49 €.
PHP (cours) PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €.
Ruby et Ruby on Rails (Cours) Ruby et Ruby on Rails (Cours)
Créer des applications logicielles et Web avec Ruby et RoR. A partir de 39 €.
Liens sponsorisés