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:14] 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 61: Ligne 67:
 === Sélection avec distinct et projection === === Sélection avec distinct et projection ===
  
 +1. Ce programme 
 +
 +===== Gestion des commandes =====
 +
 +1. L'appel des méthodes permettant de mettre en œuvre la contrainte d'intégrité multiple est justifié par 
 +
 +==== Création de commandes ====
 +
 +1. Code commenté de CreateCommandeGood.java
 +
 +2. L'exécution a effectué les ajouts dans la base de données :
 +
 +===== Test Web =====
  
  • slam4/orm/etudiants/clement.1354212888.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)