DAO = Data Access Object
? Résout la problématique d'isolation entre les couches Business et Persistance.
? Permet d'exposer sous forme de service les accès vers les données.
? Améliore la mise en oeuvre des tests.
(...)
[...] B1 Chargement optimisé vs base de données Nécessite une projection - sinon retourne un Object[] Fonctions de lecture Laquelle choisir ? Privilégier la qualité du logiciel : id/asso Lisibilité Performance Encapsulation MD-3-01-SM-10 rév. B1 criteria HQL SQL MD-3-01-SM-10 rév. [...]
[...] B1 Destruction des entités orphelines Fonctions de lecture Possibilités multiples : Recherche par l'identifiant Recherche par une association Recherche HQL (Hibernate Query Language) Recherche SQL Recherche par critère (QBC) Recherche par l'exemple (QBE) MD-3-01-SM-10 rév. B1 Fonctions de lecture (simple) Chargement d'une entité par l'identifiant Person aPerson = (Person) session.load(Person.class, personId); Person aPerson = new Person(); session.load(aPerson, personId); Chargement d'une entité via une association Person aPerson = (Person) session.load(Person.class, personId); Set events = aPerson.getEvents(); MD-3-01-SM-10 rév. B1 Multiplication du nombre d'accès base de données ! [...]
[...] B1 Correspondance Objet-Relationnel MD-3-01-SM-10 rév. B1 Etats d'une entité (objet mappé sur la BDD) L'instance d'une entité possède 3 états possibles : Transient / Ephémère : Non associé à un contexte de persistance Pas d'identifiant de persistance (valeur de clé primaire) Persistant : Associé au contexte de persistance Possède un identifiant (ou associé à un objet qui possède un id.) MD-3-01-SM-10 rév. B1 Détaché : Précédemment associé au contexte de persistance Contexte de persistance fermé Fonctions de persistance : CRUD Create Read Update Delete (Insertion) (Lecture) (Modification) (Suppression) MD-3-01-SM-10 rév. [...]
[...] La couche persistance MD-3-01-SM-10 rév. B1 Le plan Introduction rappel architecture Java EE La couche de persistance Accès JDBC vers Base de Données Hibernate MD-3-01-SM-10 rév. B1 Introduction: Principes J2EE MD-3-01-SM-10 rév. B1 Le problème et la solution MD-3-01-SM-10 rév. B1 Architecture en couche MD-3-01-SM-10 rév. [...]
[...] B1 Fonctions de lecture (Criteria) Palette d'expressions très large : MD-3-01-SM-10 rév. B1 Fonctions de lecture (Query By Example) Recherche par l'exemple sur une entité Person exemple = new Person(); Exemple.setNom("PIGNON"); Exemple.setPrenom("R%"); List persons = session.createCriteria(Person.class) .add( Example.create(exemple).enableLike() ) .list(); MD-3-01-SM-10 rév. B1 Simplicité d'utilisation Fonctions de lecture (SQL natif) Recherche en SQL natif sur une entité String requete = "SELECT count(*) FROM TCSFDOSSIERCONTROLESURFACE dossier " + "WHERE exists (SELECT 1 " + "FROM TCSFSELECTIONDOSSIERCTRL selection, " + "TCSFCONTROLE controle, TREFMESUREACONTROLER mes, " + "WHERE dossier.CODEDDAF = :codeDdaf . [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture