slam4:orm:etudiants:olivier

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:olivier [2012/12/04 16:49] plateauslam4:orm:etudiants:olivier [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 18: Ligne 18:
 \\ **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 ?**
  
---> Elle hérite de la classe Kobject. +\\ Elle hérite de la classe Kobject. 
 +<code java|h code Java> 
 +    public class KCategorie extends KObject 
 +</code>
  
 \\ **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 ?**
  
---> Le mapping entre un membre de la classe et un champ de la table relationnelle est déclaré dans le constructeur en tant que membre.+\\ Le mapping entre un membre de la classe et un champ de la table relationnelle est déclaré dans le constructeur en tant que membre.
 <code java|h code Java> <code java|h code Java>
 hasMany(KLigne.class); hasMany(KLigne.class);
Ligne 89: Ligne 91:
 \\ __belongsTo:__ \\ __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. \\ 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:__ +\\ Console:
 \\ SQL : KDataBase.sendQuery -> SELECT * FROM produit  WHERE produit.id='50' \\ SQL : KDataBase.sendQuery -> SELECT * FROM produit  WHERE produit.id='50'
 \\ SQL : KDataBase.sendQuery -> SELECT * FROM Ligne  WHERE idProduit='50' \\ SQL : KDataBase.sendQuery -> SELECT * FROM Ligne  WHERE idProduit='50'
Ligne 95: Ligne 97:
 \\ __hasMany:__ \\ __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. \\ 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:__+\\ Console:
 \\ SQL : KDataBase.sendQuery -> SELECT * FROM categorie  WHERE categorie.id='3' \\ SQL : KDataBase.sendQuery -> SELECT * FROM categorie  WHERE categorie.id='3'
 \\ SQL : KDataBase.sendQuery -> SELECT * FROM produit  WHERE idCategorie='3' \\ SQL : KDataBase.sendQuery -> SELECT * FROM produit  WHERE idCategorie='3'
Ligne 101: Ligne 103:
 \\ **3)En quoi consiste le chargement paresseux de KObject ?** \\ **3)En quoi consiste le chargement paresseux de KObject ?**
  
 +\\ Le chargement de KObject est qualifié de paresseux parce qu'il ne charge pas tous les objets associé  à un objet si on le lui demande pas.
 +\\ Si on affiche une catégorie KObject n'affichera pas les produits de cette catégorie à moins de le lui demander.
 +
 +===== Quatrième partie =====
 +==== Chargement de listes d'objets: ====
 +=== Projection ===
 +
 +
 +\\ **1)Interprétez et expliquez le résultat obtenu avec cette ligne de code :**
 +
 +<code java|h code java>
 +    System.out.println(categories.showWithMask("{libelle}:\n{produits}\n"));
 +</code>
 +\\ Cette ligne va permettre de classer l'afficher de tous les produits par catégorie.
 +\\ Les catégories seront affichées par ordre alphabétique.
 +\\ Pour chaque catégorie on aura tous les produits correspondant, classés par ordre alphabétique.
 +
 +=== Selection ===
 +
 +\\ **1)Combien de requêtes SQL sont exécutées par KObject ?**
 +
 +\\ Kobject va effectuer trois requêtes SQL.
 +\\ La première va permettre de récupérer le produit.
 +\\ La seconde va récupérer la ligne correspondante.
 +\\ La troisième récupère la catégorie du produit.
 +
 +\\ **2)Comment l'interprétez vous ?**
 +
 +\\ Pour faire le lient entre les objets, KObject va procéder par étapes.
 +\\ D'abord on récupère l'objet pour ensuite, à partir de celui-ci, récupérer les objets en relation.
 +\\ Exemple du produit, on le récupère pour ensuite savoir à quelle ligne il correspond et à quelle catégorie.
 +
 +\\ Remplacement du lien belongsTo sur la classe Produit : 
 +
 +\\ **3)Combien de requêtes SQL sont maintenant exécutées par KObject ?**
 +
 +\\ KObject effectue trois requêtes SQL.
 +
 +\\ **4)Comment l'interprétez vous ?**
 + ....semble pareil...sans soute errreur de ma part...
 +
 +\\ 5)Interprétez les requêtes SQL exécutées par KObject suite au Test2:
 +
 +\\ KObject effectue une requète de selection de produit appartenant à la catégorie "beauté".
 +\\ Pour ce faire il va effectuer une requête en spécifiant la jointure entre les tables categorie et produit à l'aide d'un "inner join".
 +=== Sélection avec distinct et projection ===
 +
 +\\ **1)Expliquer ce que fait le programme:**
 +
 +\\ Le programme va rechercher et afficher toutes les catégories ainsi que tous les produits en faisant partis dans lesquelles on peut trouver des produits ayant un pris supérieur à 10.
 +\\ Le résultat sera classé par catégorie.
 +
 +===== Cinquième partie =====
 +==== Gestion des commandes ====
 +\\ **1)Justifiez l'appel des méthodes permettant de mettre en oeuvre la contrainte d'intégrité multiple:**
  
 +==== Création de commandes ====
  • slam4/orm/etudiants/olivier.1354636189.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)