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:pierrick [2012/12/04 14:54] – pierrick | slam4:orm:etudiants:pierrick [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
===== Produits et catégories ===== | ===== Produits et catégories ===== | ||
- | - 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 ?\\ |
- | S'il hérite de KObject | + | S'il hérite de KObject |
- | public class KCategorie extends KObject | + | public class KCategorie extends KObject |
- | Comment | + | 2.Liste numérotéeComment |
- | hasMany(KLigne.class); | + | hasMany(KLigne.class); |
- | belongsTo(KCategorie.class); | + | belongsTo(KCategorie.class); |
- | Comment est déclarée la clé primaire de la table ?\\ | + | 3.Comment est déclarée la clé primaire de la table ?\\ |
- | keyFields=" | + | keyFields=" |
- | Réaliser un tableau montrant la correspondance de type (entier, chaine, etc.) entre les propriétés d’une classe et les champs d’une table\\ | + | 4.Réaliser un tableau montrant la correspondance de type (entier, chaine, etc.) entre les propriétés d’une classe et les champs d’une table\\ |
^ ^Java ^SQL | | ^ ^Java ^SQL | | ||
|**Entier** | int | int | | |**Entier** | int | int | | ||
Ligne 19: | Ligne 19: | ||
|**Flottant** | float | float| | |**Flottant** | float | float| | ||
- | - 5.Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans le constructeur)\\ | + | 5.Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans le constructeur)\\ |
{{: | {{: | ||
==== Programme de test ==== | ==== Programme de test ==== | ||
- | - 1.À quoi correspond la méthode kstart() ?\\ | + | 1.À quoi correspond la méthode kstart() ?\\ |
+ | <code java|h code Java> | ||
+ | public static void main(String[] args){ | ||
+ | try{ | ||
+ | Ko.kstart(); | ||
+ | |||
+ | KCategorie aCategorie=new KCategorie(" | ||
+ | aCategorie.add(Ko.kdatabase()); | ||
+ | |||
+ | KProduit aProduit= new KProduit(" | ||
+ | aProduit.add(Ko.kdatabase()); | ||
+ | |||
+ | Ko.kstop(); | ||
+ | } | ||
+ | </ | ||
+ | La méthode kstart() correspond au démarrage de l' | ||
+ | |||
+ | 2.Comment ont été traduits les liens objet entre le membre categorie et produits entre ces classes dans les tables de la base ?\\ | ||
+ | Cela a étais traduit par le fait que l'id de la table “catégorie” s'est mis en clé étrangère dans la table “produits”. | ||
+ | |||
+ | 3.Quelles requêtes SQL ont été créées par KObject pour réaliser la persistance ?\\ | ||
+ | Insertion de la valeur dans la catégorie | ||
+ | INSERT INTO Categorie(libelle) VALUES(' | ||
+ | |||
+ | Insertion de la valeur dans la table produit | ||
+ | INSERT INTO produit(idCategorie, | ||
+ | |||
+ | 4.Que se passe t-il si l' | ||
+ | Si l' | ||
+ | ====== Chargement d'un objet ====== | ||
+ | 1.Précisez ce que charge exactement KObject lors du chargement d'un Objet\\ | ||
+ | Lors du chargement d'un Objet, KObject va charger tous les objets en relation. | ||
+ | Par exemple en chargeant une catégorie, tous les produits de cette catégorie seront chargés. | ||
+ | SQL : KDataBase.sendQuery → SELECT * FROM categorie WHERE categorie.id=' | ||
+ | KOBJECT : KCategorie.loadFromDb → {id=13} | ||
+ | KOBJECT : KConstraintHasMany.load → class metier.KProduit | ||
+ | SQL : KDataBase.sendQuery → SELECT * FROM produit WHERE idCategorie=' | ||
+ | |||
+ | 2.Précisez comment sont chargées les instances liées à un objet chargé pour les liens belongsTo et hasMany\\ | ||
+ | Les instances liées | ||
+ | Les instances liées | ||
+ | |||
+ | 3.En quoi consiste le chargement paresseux de KObject ?\\ | ||
+ | Le chargement paresseux de KObject consiste a charge par défaut tous les objets en rapport avec un autre. | ||
+ | Par exemple, quand il affiche tous les produits de cette catégorie, il les charges tous. | ||
+ | |||
+ | ===== Chargement de listes d' | ||
+ | ===== Projection ===== | ||
+ | 1.Interprétez et expliquez le résultat obtenu\\ | ||
+ | ===== Sélection ===== | ||
+ | 1.Combien de requêtes SQL sont exécutées par KObject ?\\ | ||
+ | 2.Comment l' | ||
+ | 3.Combien de requêtes SQL sont maintenant exécutées par KObject ?\\ | ||
+ | 4.Comment l' | ||
+ | 5.Interprétez les requêtes SQL exécutées par KObject\\ | ||
+ | ===== Sélection avec distinct et projection ===== | ||
+ | 1.Expliquer ce que fait le programme\\ | ||
+ | ====== Gestion des commandes ====== | ||
+ | 1.Justifiez l' |