Affichage des articles dont le libellé est jpa. Afficher tous les articles
Affichage des articles dont le libellé est jpa. Afficher tous les articles

Questions JPA, Hibernate

Au sujet save() et saveOrUpdate(), quelle est la bonne affirmation ?
  1. Avec save() on n’utilise pas de transaction.
  2. Save() est une méthode de l’objet Session, alors que saveOrUpdate() est une méthode de l’object Transaction.
  3. Save() insert un enregistrement en table. SaveOrUpdate met à jours un enregistrement. S’il ne le trouve pas, il l’insert.
  4. SaveOrUpdate() et Save() ne nécessite pas d’être dans un bloc de traitement d'erreur.

find(), get(), et load()

get(), load() vs find()
- get() et load() retournent un objet.
- find() retourne un liste.

load() vs get()
-l'objet n'existe ni en base ni dans le cache:
   - load() ne retourne jamais null. Il retourne une exception.
   - get() retourne null.
-l'objet existe en base ou dans le cache:
   - load() retourne un proxy des objets dépendants (initialisation paresseuse ou lazy loading).
   - get() retourne retourne toute la grappe de l'objet (i.e. avec les objets dépendants) initialisée. Ce qui entraîne de multiple requêtes (problème du N+1 requêtes).