..
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 />
| |
Linux (Cours)
Guide complet de système open-source. A partir de 49 €. |
| |
PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €. |
| |
Ruby et Ruby on Rails (Cours)
Créer des applications logicielles et Web avec Ruby et RoR. A partir de 39 €. |