slam4:orm:etudiants:maxime

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:maxime [2012/12/04 16:45] – [Chargement d'un objet] maxime170492slam4:orm:etudiants:maxime [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 78: Ligne 78:
  
 Lors du chargement d'un Objet, KObject va charger les catégories mais aussi les objets de ces catégories \\ Lors du chargement d'un Objet, KObject va charger les catégories mais aussi les objets de ces catégories \\
-SELECT * FROM categorie WHERE categorie.id='1' +SELECT * FROM categorie WHERE categorie.id='1' \\ 
-KOBJECT : KCategorie.loadFromDb → {id=1} +KOBJECT : KCategorie.loadFromDb → {id=1} \\ 
-KOBJECT : KConstraintHasMany.load → class metier.KProduit +KOBJECT : KConstraintHasMany.load → class metier.KProduit \\ 
-SELECT * FROM produit WHERE idCategorie='1' +SELECT * FROM produit WHERE idCategorie='1' \\ 
-KOBJECT : KProduit.loadFromDb → {id=52} +KOBJECT : KProduit.loadFromDb → {id=52} \\ 
-KOBJECT : KProduit.loadFromDb → {id=56} +[...] \\ 
-KOBJECT : KProduit.loadFromDb → {id=62} +KOBJECT : KProduit.loadFromDb → {id=182} \\
-KOBJECT : KProduit.loadFromDb → {id=71} +
-KOBJECT : KProduit.loadFromDb → {id=73} +
-KOBJECT : KProduit.loadFromDb → {id=77} +
-KOBJECT : KProduit.loadFromDb → {id=78} +
-KOBJECT : KProduit.loadFromDb → {id=84} +
-KOBJECT : KProduit.loadFromDb → {id=98} +
-KOBJECT : KProduit.loadFromDb → {id=107} +
-KOBJECT : KProduit.loadFromDb → {id=113} +
-KOBJECT : KProduit.loadFromDb → {id=114} +
-KOBJECT : KProduit.loadFromDb → {id=116} +
-KOBJECT : KProduit.loadFromDb → {id=117} +
-KOBJECT : KProduit.loadFromDb → {id=118} +
-KOBJECT : KProduit.loadFromDb → {id=131} +
-KOBJECT : KProduit.loadFromDb → {id=132} +
-KOBJECT : KProduit.loadFromDb → {id=133} +
-KOBJECT : KProduit.loadFromDb → {id=134} +
-KOBJECT : KProduit.loadFromDb → {id=135}  +
-KOBJECT : KProduit.loadFromDb → {id=136} +
-KOBJECT : KProduit.loadFromDb → {id=137} +
-KOBJECT : KProduit.loadFromDb → {id=154} +
-KOBJECT : KProduit.loadFromDb → {id=162} +
-KOBJECT : KProduit.loadFromDb → {id=167} +
-KOBJECT : KProduit.loadFromDb → {id=168} +
-KOBJECT : KProduit.loadFromDb → {id=182}+
  
  
 **2) Précisez comment sont chargées les instances liées à un objet chargé pour les liens belongsTo et hasMany** \\ **2) Précisez comment sont chargées les instances liées à un objet chargé pour les liens belongsTo et hasMany** \\
  
 +belongsTo: \\ 
 +Pour charger les instances liées à un objet en Many to One, par exemple un produit, KObject va dans un premier temps récupérer le produit à l'aide d'un select. Ensuite KObject va récupérer la catégorie correspondante. \\ 
 +Console: \\ 
 +SQL : KDataBase.sendQuery → SELECT * FROM produit WHERE produit.id='52' \\ 
 +SQL : KDataBase.sendQuery → SELECT * FROM Ligne WHERE idProduit='52' \\ 
 +SQL : KDataBase.sendQuery → SELECT * FROM categorie WHERE id='1' \\ 
 +hasMany: \\ 
 +Pour le cas d'un One To Many KObject va effectuer deux requêtes SQL. Dans un premier temps la catégorie sera chargée ensuite tous les produits appartenant à cette catégorie seront chargés. \\ 
 +Console: \\ 
 +SQL : KDataBase.sendQuery → SELECT * FROM categorie WHERE categorie.id='1' \\ 
 +SQL : KDataBase.sendQuery → SELECT * FROM produit WHERE idCategorie='1' \\
  
 **3) En quoi consiste le chargement paresseux de KObject ?** \\ **3) En quoi consiste le chargement paresseux de KObject ?** \\
  
  
 +Le chargement dit "paresseux" de KObject consiste a ne pas charger chaque objets d'un objet précis à moins de lui en donner l'instruction. \\
 +Exemple : Il n'affichera pas tous les produits d'une catégorie s'il l'utilisateur ne le demande pas. \\
 +Un peu comme Quentin .. :-x \\
 ====== Chargement de listes d'objets ====== ====== Chargement de listes d'objets ======
  
Ligne 127: Ligne 116:
 **1) Interprétez et expliquez le résultat obtenu** \\ **1) Interprétez et expliquez le résultat obtenu** \\
  
 +Voici le résultat obtenu : \\
  
 +<code java|h code java>
 +    System.out.println(categories.showWithMask("{libelle}:\n{produits}\n"));
 +</code> 
 +
 +Explication : On affiche à l'écran les libellés et les produits des catégories affichés par ordre alphabétique.
 ===== Sélection ===== ===== Sélection =====
  
Ligne 184: Ligne 179:
  
  
- +Document réalisé par :  
 +--- //[[maxime170492@gmail.com|maxime]] //
  
  
  • slam4/orm/etudiants/maxime.1354635902.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)