slam4:orm:etudiants:nicolas

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:nicolas [2012/12/04 15:41] – [HIBERNATE] mathissartslam4:orm:etudiants:nicolas [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 75: Ligne 75:
 == 6) lien bidirectionnel entre deux classes ==  == 6) lien bidirectionnel entre deux classes == 
  
-{{:slam4:orm:etudiants:schema.jpg?200|}}+{{:slam4:orm:etudiants:schema.jpg?800|}}
  
 == 7) À quoi correspond la méthode persist() ? == == 7) À quoi correspond la méthode persist() ? ==
Ligne 111: Ligne 111:
 == 9) Quelles requêtes SQL ont été créées par Hibernate pour réaliser la persistance ? == == 9) Quelles requêtes SQL ont été créées par Hibernate pour réaliser la persistance ? ==
  
-Afin de réaliser la persistance, Hibernate à mit en places les requêtes SQL, Insert, Update et Delete.+Afin de réaliser la persistance, Hibernate à effectuer de requetes sql INSERT ;
  
 +Ajout de la catégorie :
 +<code sql |h INSERT Catégorie>
 +    insert 
 +    into
 +        Categorie
 +        (libelle) 
 +    values
 +        (?)
 +</code>
 +Ajout du produit :
 +<code sql |h INSERT Produit>
 +  insert 
 +    into
 +        Produit
 +        (idCategorie, nom, prix, id) 
 +    values
 +        (?, ?, ?, ?)
  
 +</code>
 +
 +== 10) Pourquoi comportent t-elles des points d'interrogation ? ==
 +Les requêtes comportent des points d’interrogation car hibernate a mit en place des requêtes paramétrables.\\
 + Autrement, dit on peut utiliser la requête plusieurs-fois avec les paramètres concernés.
 +Les paramètres sont dont affichés avec des "?".
 +
 +
 +== 11)  Qu'est ce que charge exactement Hibernate lors du chargement d'un Objet ? ==
 +
 +Lors d'un chargement d'objet, Hibernate charge automatiquement tous les objets en relation avec l'objet concerné. \\
 +Par exemple si l'on charge un produit, on charge aussi sa catégorie : \\
 +{{:slam4:orm:etudiants:ch.png?600|}}\\
 +On peut voir que la catégorie est bien chargé
 +
 +
 +
 +== 12) Comment sont chargés les instances liées à un objet chargé pour les liens oneToMany et manyToOne ? ==
 +
 +Pour charger les instances liées à un objet chargé pour les liens oneToMany, Hibernate charge l'objet concerné ainsi que les objets dont il est en relation.
 +Par exemple, lorsque l'on charge un produit, il charge aussi sa catégorie :
 +<code sql |h jj>
 +    select
 +        produit0_.id as id1_1_,
 +        produit0_.idCategorie as idCatego4_1_1_,
 +        produit0_.nom as nom1_1_,
 +        produit0_.prix as prix1_1_,
 +        categorie1_.id as id0_0_,
 +        categorie1_.libelle as libelle0_0_ 
 +    from
 +        Produit produit0_ 
 +    left outer join
 +        Categorie categorie1_ 
 +            on produit0_.idCategorie=categorie1_.id 
 +    where
 +        produit0_.id=?
 +</code>
 +
 +
 +Pour charger les instances liées à un objet chargé pour les liens ManyToOne,Hibernate charge seulement l'objet concerné. Par exemple, lorsque l'on charge une catégorie, il charge seulement la catégorie et il prépare le chargement des produits.
 +Hibernate: 
 +    select
 +        categorie0_.id as id0_0_,
 +        categorie0_.libelle as libelle0_0_ 
 +    from
 +        Categorie categorie0_ 
 +    where
 +        categorie0_.id=?
 +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>
  
 +=== En quoi consiste le chargement paresseux d'Hibernate et la qualification lazy ? ===
 +Le chargement paresseux consiste donc à charger objet par objet.\\
 +Par exemple, avec l'exemple de la catégorie, il charge seulement la catégorie et non les produits, si on ne lui demande pas.
  
  
  • slam4/orm/etudiants/nicolas.1354632116.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)