slam4:orm:etudiants:guillaume

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:orm:etudiants:guillaume [2012/12/04 14:47] bunelgslam4:orm:etudiants:guillaume [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 16: Ligne 16:
 ====== Réponse aux questions ====== ====== Réponse aux questions ======
  
-1.Comment est déclarée la table assurant la persistance d’un objet ?+**1.Comment est déclarée la table assurant la persistance d’un objet ?\\** 
 Grâce à "@Entity" Grâce à "@Entity"
  
-2.Comment est déclaré le mapping entre un membre de la classe et un champ de la table relationnelle ?+**2.Comment est déclaré le mapping entre un membre de la classe et un champ de la table relationnelle ?\\** 
 Grâce à "@Table(name="className")" Grâce à "@Table(name="className")"
  
-3.Comment est déclarée la clé primaire de la table ?+**3.Comment est déclarée la clé primaire de la table ?\\** 
 Grâce à "@id" Grâce à "@id"
  
-4.Quelles sont les possibilités de déclaration des clés primaires ?+**4.Quelles sont les possibilités de déclaration des clés primaires ?\\** 
 "@GeneratedValue(strategy=GenerationType.IDENTITY)" est l'auto-incrément de la clé primaire. "@GeneratedValue(strategy=GenerationType.IDENTITY)" est l'auto-incrément de la clé primaire.
  
-5.Réaliser un tableau montrant la correspondance de type (entier, chaine, etc.) entre les propriétés d’une classe et les champs d’une table.\\ +**5.Réaliser un tableau montrant la correspondance de type (entier, chaine, etc.) entre les propriétés d’une classe et les champs d’une table.\\**  
 ===== Tableau comparatif des valeurs entre JAVA et SQL ===== ===== Tableau comparatif des valeurs entre JAVA et SQL =====
 <html> <html>
Ligne 41: Ligne 46:
 </html> </html>
  
 +===== Schéma d'explication de la bidirectionnalité de deux classes =====
 6.Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans les annotations) 6.Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans les annotations)
 <html> <html>
Ligne 49: Ligne 55:
 </div> </div>
 </html> </html>
 +
 +====== Programme de Test ======
 +
 +Analysez le code du programme et répondez aux questions en vous aidant au besoin de la documentation :
 +
 +**1. À quoi correspond la méthode persist() ?\\**
 +
 +La méthode persist() permet d'ajouter un objet à la base de données.
 +
 +**2. À quoi correspond la méthode commit () ?\\**
 +
 +Elle correspond à la fin de l'accès à la base de données
 +
 +**3. Comment ont été traduits les liens objet entre le membre categorie et produits entre ces classes dans les tables de la base ?\\**
 +
 +Un paramètre "aCategorie" a été passé au constructeur de Produit.
 +
 +**4. Quelles requêtes SQL ont été créées par Hibernate pour réaliser la persistance ?\\**
 +
 +Hibernate a créé une requête INSERT INTO Categorie (libelle) VALUES (?)\\
 +et une requête INSERT INTO Produit (idCategorie, nom, prix, id) VALUES (?, ?, ?, ?)\\
 +
 +**5. Pourquoi comportent t-elles des points d'interrogation ?\\**
 +
 +Les points d'interrogation sont remplacés par les paramètres de l'objet instancié, ici Produit & Categorie.
 +Ils permettent aussi la réutilisation de de ses requêtes avec les même paramètres.
 +
 +====== Chargement d'un objet ======
 +
 +===== Programme de chargement d'un produit & d'une catégorie =====
 +
 +A partir de ses 2 programmes et de leur exécution :
 +
 +**1. Précisez ce que charge exactement Hibernate lors du chargement d'un Objet**
 +Au chargement d'un objet Hibernate charge les objets nécessaires aux tests mais aussi les objets qui y sont associés.
 +Si l'on charge un produit, sa catégorie sera aussi chargée.
 +
 +**2. Précisez comment sont chargés les instances liées à un objet chargé pour les liens onToMany et manyToOne**
 +Pour charger les instances liées a un objet chargé pour les liens OneToMany, Hibernate charge l'objet en question avec lequel il est lié.
 +Comme dans l'exemple précédent, quand un produit est instancié sa catégorie l'est aussi.
 +<code java |h code java>
 +Hibernate: 
 +    select
 +        produits0_.idCategorie as idCatego4_1_,
 +        produits0_.id as id1_,
 +        produits0_.id as id1_0_,
 +        produits0_.idCategorie as idCatego4_1_0_,
 +        produits0_.nom as nom1_0_,
 +        produits0_.prix as prix1_0_ 
 +    from
 +        Produit produits0_ 
 +    where
 +        produits0_.idCategorie=?
 +</code>\\
 +**3. En quoi consiste le chargement paresseux d'Hibernate et la qualification lazy (rechercher dans l'aide)**
  • slam4/orm/etudiants/guillaume.1354628879.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)