slam4:orm:etudiants:guillaume

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:guillaume [2012/12/04 16:35] bunelgslam4: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 à "@Entity" Grâce à "@Entity"
  
-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 à "@Table(name="className")" Grâce à "@Table(name="className")"
  
-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 à "@id" Grâce à "@id"
  
-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 ?\\** 
 "@GeneratedValue(strategy=GenerationType.IDENTITY)" est l'auto-incrément de la clé primaire. "@GeneratedValue(strategy=GenerationType.IDENTITY)" est l'auto-incrément de la clé primaire.
  
-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 =====
 <html> <html>
Ligne 55: Ligne 60:
 Analysez le code du programme et répondez aux questions en vous aidant au besoin de la documentation : 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() ?\\+**1. À quoi correspond la méthode persist() ?\\**
  
 La méthode persist() permet d'ajouter un objet à la base de données. La méthode persist() permet d'ajouter un objet à la base de données.
  
-2. À quoi correspond la méthode commit () ?\\+**2. À quoi correspond la méthode commit () ?\\**
  
 Elle correspond à la fin de l'accès à la base de données Elle correspond à la fin de l'accès à la base de données
  
-3. Comment ont été traduits les liens objet entre le membre categorie et produits entre ces classes dans les tables de la base ?\\+**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 "aCategorie" a été passé au constructeur de Produit. Un paramètre "aCategorie" a été passé au constructeur de Produit.
  
-4. Quelles requêtes SQL ont été créées par Hibernate pour réaliser la persistance ?\\+**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 (?)\\ Hibernate a créé une requête INSERT INTO Categorie (libelle) VALUES (?)\\
 et une requête INSERT INTO Produit (idCategorie, nom, prix, id) VALUES (?, ?, ?, ?)\\ et une requête INSERT INTO Produit (idCategorie, nom, prix, id) VALUES (?, ?, ?, ?)\\
  
-5. Pourquoi comportent t-elles des points d'interrogation ?\\+**5. Pourquoi comportent t-elles des points d'interrogation ?\\**
  
 Les points d'interrogation sont remplacés par les paramètres de l'objet instancié, ici Produit & Categorie. Les points d'interrogation sont remplacés par les paramètres de l'objet instancié, ici Produit & Categorie.
 +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'objet en question avec lequel il est lié.
 +Comme dans l'exemple précédent, quand un produit est instancié sa catégorie l'est aussi.
 +<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=?
 +</code>\\
 +**3. En quoi consiste le chargement paresseux d'Hibernate et la qualification lazy (rechercher dans l'aide)**
  • slam4/orm/etudiants/guillaume.1354635325.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)