slam4:orm:etudiants:clement

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:clement [2012/11/29 19:22] clemslam4: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/objet ======= ======= TP-TD6 - Comparaison de frameworks de mapping relationnel/objet =======
-===== 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é en héritant de la classe Kobject : 
 +    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é dans le constructeur en tant que membre :  
 +    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é avec un keyFields. 
 +    keyFields="id";
  
 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 |varchar |chaine |
  
 5. Le lien bidirectionnel entre deux classes se paramètre par : 5. Le lien bidirectionnel entre deux classes se paramètre par :
Ligne 18: Ligne 22:
 ==== Programme de test ==== ==== Programme de test ====
  
-1. La méthode kstart() correspond à+1. La méthode kstart() correspond au démarrage de l'application java qui permettra l'ajout  dans la base de donnée.
  
-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('Presse') 
-  * +  * INSERT INTO produit(idCategorie,prix,nom) VALUES('1','3.0','Programmez!')
  
-4. Si l'insertion de la catégorie échoue alors+4. Si l'insertion de la catégorie échoue alors l'ajout d'un produit ne pourra s'effectuer car celui-ci doit appartenir à la catégorie que l'on cherche à ajouter.
  
-===== Chargement d'un objet ====+===== Chargement d'un objet =====
 === Programme de chargement d'une catégorie === === Programme de chargement d'une catégorie ===
  
-1. Ce que charge exactement KObject lors du chargement d'un Objet est+1. Ce que charge exactement KObject lors du chargement d'un Objet sont l'Object lui même ainsi que tous les objets en relation. 
 +Par exemple : En chargent l'objet catégorie, tout les produits lié seront eux même chargés. 
  
-2. Les instances liées à un objet chargé pour les liens belongsTo et hasMany sont chargées grâce à+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'objet "catégorie" dans la base de donnée puis tout les objets produit lié à cette catégorie. 
 +Pour la situation d'un belongsTo, kObject sélectionne l'objet dans la base de donnée par exemple un produit, puis il sélectionnera la catégorie correspondant.
  
 3. Le chargement paresseux de KObject consiste à  3. Le chargement paresseux de KObject consiste à 
  
-==== Chargement de listes d'objets ====+===== Chargement de listes d'objets =====
 === Projection === === Projection ===
  
Ligne 63: Ligne 69:
 1. Ce programme  1. Ce programme 
  
-==== Gestion des commandes ====+===== Gestion des commandes =====
  
 1. L'appel des méthodes permettant de mettre en œuvre la contrainte d'intégrité multiple est justifié par  1. L'appel des méthodes permettant de mettre en œuvre la contrainte d'intégrité multiple est justifié par 
Ligne 70: Ligne 76:
  
 1. Code commenté de CreateCommandeGood.java 1. Code commenté de CreateCommandeGood.java
 +
 2. L'exécution a effectué les ajouts dans la base de données : 2. L'exécution a effectué les ajouts dans la base de données :
  
-==== Test Web ====+===== Test Web =====
  
  • slam4/orm/etudiants/clement.1354213331.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)