Lorsque l'on veut utiliser des objets, plus précisément des bean entités, dans des collections, il faut redéfinir les méthodes equals() et hashcode(). Il est judicieux de réfléchir à la meilleure façon de les implémenter.
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).
- 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).
Hibernate : Avantages / Inconvenients
Avantages
- Génère le code SQL --> L'application est plus portable. On peut changer de base de données sans difficulté.
- Persistance transparente. On peut faire de nos classes métiers des classes persistantes sans ajout de code.
- La récupération des données est optimisé grâce à un système de caches.
Inconvénient
- Dure de faire des requêtes complexe.
- Génère le code SQL --> L'application est plus portable. On peut changer de base de données sans difficulté.
- Persistance transparente. On peut faire de nos classes métiers des classes persistantes sans ajout de code.
- La récupération des données est optimisé grâce à un système de caches.
Inconvénient
- Dure de faire des requêtes complexe.
Inscription à :
Articles (Atom)