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:guillaume [2012/12/04 14:47] – bunelg | slam4:orm:etudiants:guillaume [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 16: | Ligne 16: | ||
====== Réponse aux questions ====== | ====== Réponse aux questions ====== | ||
- | 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 ?\\** |
Grâce à " | Grâce à " | ||
- | 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 ?\\** |
Grâce à " | Grâce à " | ||
- | 3.Comment est déclarée la clé primaire de la table ? | + | **3.Comment est déclarée la clé primaire de la table ?\\** |
Grâce à " | Grâce à " | ||
- | 4.Quelles sont les possibilités de déclaration des clés primaires ? | + | **4.Quelles sont les possibilités de déclaration des clés primaires ?\\** |
" | " | ||
- | 5.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.\\ | + | **5.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.\\** |
===== Tableau comparatif des valeurs entre JAVA et SQL ===== | ===== Tableau comparatif des valeurs entre JAVA et SQL ===== | ||
< | < | ||
Ligne 41: | Ligne 46: | ||
</ | </ | ||
+ | ===== Schéma d' | ||
6.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 les annotations) | 6.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 les annotations) | ||
< | < | ||
Ligne 49: | Ligne 55: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ====== Programme de Test ====== | ||
+ | |||
+ | Analysez le code du programme et répondez aux questions en vous aidant au besoin de la documentation : | ||
+ | |||
+ | **1. À quoi correspond la méthode persist() ?\\** | ||
+ | |||
+ | La méthode persist() permet d' | ||
+ | |||
+ | **2. À quoi correspond la méthode commit () ?\\** | ||
+ | |||
+ | Elle correspond à la fin de l' | ||
+ | |||
+ | **3. Comment ont été traduits les liens objet entre le membre categorie et produits entre ces classes dans les tables de la base ?\\** | ||
+ | |||
+ | Un paramètre " | ||
+ | |||
+ | **4. Quelles requêtes SQL ont été créées par Hibernate pour réaliser la persistance ?\\** | ||
+ | |||
+ | Hibernate a créé une requête INSERT INTO Categorie (libelle) VALUES (?)\\ | ||
+ | et une requête INSERT INTO Produit (idCategorie, | ||
+ | |||
+ | **5. Pourquoi comportent t-elles des points d' | ||
+ | |||
+ | Les points d' | ||
+ | Ils permettent aussi la réutilisation de de ses requêtes avec les même paramètres. | ||
+ | |||
+ | ====== Chargement d'un objet ====== | ||
+ | |||
+ | ===== Programme de chargement d'un produit & d'une catégorie ===== | ||
+ | |||
+ | A partir de ses 2 programmes et de leur exécution : | ||
+ | |||
+ | **1. Précisez ce que charge exactement Hibernate lors du chargement d'un Objet** | ||
+ | Au chargement d'un objet Hibernate charge les objets nécessaires aux tests mais aussi les objets qui y sont associés. | ||
+ | Si l'on charge un produit, sa catégorie sera aussi chargée. | ||
+ | |||
+ | **2. Précisez comment sont chargés les instances liées à un objet chargé pour les liens onToMany et manyToOne** | ||
+ | Pour charger les instances liées a un objet chargé pour les liens OneToMany, Hibernate charge l' | ||
+ | Comme dans l' | ||
+ | <code java |h code java> | ||
+ | Hibernate: | ||
+ | select | ||
+ | produits0_.idCategorie as idCatego4_1_, | ||
+ | produits0_.id as id1_, | ||
+ | produits0_.id as id1_0_, | ||
+ | produits0_.idCategorie as idCatego4_1_0_, | ||
+ | produits0_.nom as nom1_0_, | ||
+ | produits0_.prix as prix1_0_ | ||
+ | from | ||
+ | Produit produits0_ | ||
+ | where | ||
+ | produits0_.idCategorie=? | ||
+ | </ | ||
+ | **3. En quoi consiste le chargement paresseux d' |