Différences
Ci-dessous, les différences entre deux révisions de la page.
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] – plateau | slam4: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. |
+ | <code java|h code Java> | ||
+ | public class KCategorie extends KObject | ||
+ | </ | ||
\\ **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. |
<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 | \\ SQL : KDataBase.sendQuery -> SELECT * FROM produit | ||
\\ SQL : KDataBase.sendQuery -> SELECT * FROM Ligne WHERE idProduit=' | \\ SQL : KDataBase.sendQuery -> SELECT * FROM Ligne WHERE idProduit=' | ||
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 | \\ SQL : KDataBase.sendQuery -> SELECT * FROM categorie | ||
\\ SQL : KDataBase.sendQuery -> SELECT * FROM produit | \\ SQL : KDataBase.sendQuery -> SELECT * FROM produit | ||
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é | ||
+ | \\ Si on affiche une catégorie KObject n' | ||
+ | |||
+ | ===== Quatrième partie ===== | ||
+ | ==== Chargement de listes d' | ||
+ | === 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(" | ||
+ | </ | ||
+ | \\ Cette ligne va permettre de classer l' | ||
+ | \\ Les catégories seront affichées par ordre alphabétique. | ||
+ | \\ Pour chaque catégorie on aura tous les produits correspondant, | ||
+ | |||
+ | === 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' | ||
+ | |||
+ | \\ Pour faire le lient entre les objets, KObject va procéder par étapes. | ||
+ | \\ D' | ||
+ | \\ 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' | ||
+ | | ||
+ | |||
+ | \\ 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 " | ||
+ | \\ 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' | ||
+ | ==== Création de commandes ==== |