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:clement [2012/11/29 19:06] – clem | slam4:orm:etudiants:clement [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== TP-TD6 - Comparaison de frameworks de mapping relationnel/ | + | ======= TP-TD6 - Comparaison de frameworks de mapping relationnel/ |
| - | ===== Création des classes métier ==== | + | ===== Création des classes métier |
| ==== Produits et catégories ==== | ==== Produits et catégories ==== | ||
| - | 1.La table assurant la persistance d’un objet est déclaré | + | 1. La table assurant la persistance d’un objet est déclaré |
| + | public class KProduit extends KObject | ||
| - | 2.Le mapping entre un membre de la classe et un champ de la table relationnelle est déclaré | + | 2. Le mapping entre un membre de la classe et un champ de la table relationnelle est déclaré |
| + | hasMany(KLigne.class); | ||
| + | belongsTo(KCategorie.class); | ||
| - | 3.La clé primaire de la table est déclaré | + | 3. La clé primaire de la table est déclaré |
| - | + | | |
| - | 4. | + | |
| + | 4. | ||
| ^Propriété d'une classe ^Champs d’une table ^Type ^ | ^Propriété d'une classe ^Champs d’une table ^Type ^ | ||
| - | | | | | | + | |int |int |entier |
| - | | | | | | + | |string |
| 5. Le lien bidirectionnel entre deux classes se paramètre par : | 5. Le lien bidirectionnel entre deux classes se paramètre par : | ||
| Ligne 19: | Ligne 22: | ||
| ==== Programme de test ==== | ==== Programme de test ==== | ||
| - | 1.La méthode kstart() correspond | + | 1. La méthode kstart() correspond |
| - | 2.Les liens objet entre le membre **catégorie** et **produits** entre ces classes dans les tables de la base ont été traduit par | + | 2. Les liens objet entre le membre **catégorie** et **produits** entre ces classes dans les tables de la base ont été traduit par le fait que l'id de la table **catégorie** s'est mis en clé étrangère de la table **produits**. |
| - | 3.Les requêtes SQL qui ont été créées par KObject pour réaliser la persistance sont : | + | 3. Les requêtes SQL qui ont été créées par KObject pour réaliser la persistance sont : |
| - | * Liste à puce | + | * INSERT INTO Categorie(libelle) VALUES(' |
| - | * | + | * INSERT INTO produit(idCategorie, |
| - | 4.Si l' | + | 4. Si l' |
| - | ===== Chargement d'un objet ==== | + | ===== Chargement d'un objet ===== |
| === Programme de chargement d'une catégorie === | === Programme de chargement d'une catégorie === | ||
| - | 1. | + | 1. Ce que charge exactement KObject lors du chargement d'un Objet sont l' |
| + | Par exemple : En chargent l' | ||
| + | |||
| + | 2. Les instances liées à un objet chargé pour les liens belongsTo et hasMany sont chargées grâce à des requêtes SQL. Dans le cas d'un hasMany, KObject sélectionne l' | ||
| + | Pour la situation d'un belongsTo, kObject sélectionne l' | ||
| + | |||
| + | 3. Le chargement paresseux de KObject consiste à | ||
| + | |||
| + | ===== Chargement de listes d' | ||
| + | === Projection === | ||
| + | |||
| + | 1. Résultat obtenu : | ||
| + | |||
| + | === Sélection === | ||
| + | |||
| + | 1. " | ||
| + | |||
| + | 2. On peut l’interpréter par | ||
| + | |||
| + | Remplacer le lien belongsTo sur la classe Produit par : | ||
| + | belongsTo(KCategorie.class).setLazy(true); | ||
| + | |||
| + | 1. " | ||
| + | |||
| + | 2. On peut l' | ||
| + | |||
| + | Exécutez à nouveau le programme. | ||
| + | |||
| + | 1. On peut interpréter les requêtes SQL exécutées par KObject par | ||
| + | |||
| + | === Sélection avec distinct et projection === | ||
| + | |||
| + | 1. Ce programme | ||
| + | |||
| + | ===== Gestion des commandes ===== | ||
| + | |||
| + | 1. L' | ||
| + | |||
| + | ==== Création de commandes ==== | ||
| + | |||
| + | 1. Code commenté de CreateCommandeGood.java | ||
| + | |||
| + | 2. L' | ||
| + | |||
| + | ===== Test Web ===== | ||