Précédent   Forum des professionnels en informatique > Java > Général Java > Persistance > Hibernate
Hibernate Forum d'entraide sur l'API de persistance et de mapping O/R Hibernate. Avant de poster -> FAQ Hibernate
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 13/06/2006, 16h16   #1
Membre habitué
 
Inscription : mars 2006
Messages : 163
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 163
Points : 107
Points : 107
Par défaut [ Hibernate ] Avantages des Criteria ?

Je trouve très pratique de réaliser des requêtes via l'API Criterai d'Hibernate.
Les FetchMode sont particulièrement pratique, et évite des get à répétitions...

Mais j'aimerai savoir s'il y a un gain niveau performance ?
cicolas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 16h35   #2
Membre habitué
 
Inscription : mars 2006
Messages : 163
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 163
Points : 107
Points : 107
Personne ne sait ? Ou utilse cette techno ?
Perso, j'aime bien mais j'aimerai savoir si c'est envisageable au niveau grosse applications...
cicolas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 11h01   #3
Futur Membre du Club
 
Inscription : avril 2006
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 26
Points : 19
Points : 19
Il me semble de memoire que criteria utilise des requetes SQL et non HQL.
Cela est, il est evident, un gain de perf mais est aussi la porte ouverte a l'utilisation de specificitées des SGDB en perdant donc un des grds attrait de hibernate : une relative independance vis a vis du SGDB.

ciao
_juel_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 11h11   #4
Membre actif
 
Inscription : avril 2006
Messages : 373
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : avril 2006
Messages : 373
Points : 186
Points : 186
Euh mais les requète HQL sont elle aussi transformé en SQL non ?
C'est une alternative au HQL plutot ?
K-Kaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 11h18   #5
Membre émérite
 
Inscription : mars 2002
Messages : 652
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2002
Messages : 652
Points : 844
Points : 844
Il y as principalement 3 utilisations d'hibernate !
  1. Le mapping
  2. Les requêtes statiques
  3. Les requêtes dynamiques

Pour le mapping, on utilise la définition décrite dans les fichiers HBM.
Pour les requêtes statiques, le HQL est préférable au SQL mais les deux peuvent être utilisé. Idéalement, les requêtes doivent apparaitres dans le fichier HBM (externalisation).
Dans certain cas, des requêtes doivent être créees dynamiquement, on utilise alors soit des Criteria, soit des Example !

Au final, c'est toujours du SQL qui est généré et invoqué !

Example et Criteria prennent un peu plus de temps parcequ'il est nécessaire de construire la requête et de la valider syntaxiquement à chaque fois mais en terme d'execution, c'est rigoureusement la même chose !

Donc, si vous avez un nombre d'argument fini et immuable, requêtes statique en HQL ou SQL
Si vous avez un nombre d'argument variable, Criteria ou Example

Evitez la génération de HQL ou SQL par concaténation de chaine de caractère !
__________________
Clic me...
CV en ligne

Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

Pas de réponse en MP...Merci
Alwin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 16h07   #6
Membre habitué
 
Inscription : mars 2006
Messages : 163
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 163
Points : 107
Points : 107
Merci bcp ! C'est très clair
cicolas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 11h00.


 
 
 
 
Partenaires

Hébergement Web