These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Requete avec hibernate
PostPosted: Wed Apr 19, 2006 4:40 am 
Newbie

Joined: Wed Apr 19, 2006 4:30 am
Posts: 1
Location: nantes, france
Bonjour, je travaille sur un projet dans lequel on utilise hibernate pour la persistance (mapping classes simples avec des tables simples, et requetes sur ces objets).
Dans le cadre de ce projet, j'ai des requetes plus complexes a faire, notamment des statistiques qui retournent donc un grand nombre de lignes mais qui ne correspondent à aucune table simple.

Est-il possible d'utiliser hibernate (dans un souci d'homogeneité de l'appli) pour définir une classe (bean avec des champs a,b,c) qui ne corresponde pas à une table mais à un ensemble, résultat de jointures (type select a,b,c from des tables différentes) afin de pouvoir instancier cette entité comme étant le type de retour de ma requete ? Sachant que je n'ai pas besoin dans ce cas de persistance vers la base, il s'agirait juste d'utiliser hibernate pour être homogène et donc juste de faire une requete en instanciant directement le type de retour dans une collection de beans.

Vaut-il mieux utiliser directement JDBC conjointement avec hibernate pour résoudre ce type de problèmes ?

Merci de votre aide.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 19, 2006 6:33 pm 
Newbie

Joined: Wed Apr 19, 2006 2:51 pm
Posts: 16
Pour ta dernière question : Hibernate est en fait une surcouche de JDBC (le driver JDBC - par ex. com.jdbc.mysql.Driver - que tu utilises doit d'ailleurs être déclarér dans le fichier de configuration hbn.config.xml) ; donc il n'y a pas de différence du point de vue technologique.

Hibernate te permet simplement de manipuler des objets (classes java) plutôt que des requêtes SQL et des ResultSets (pur jdbc) et cela grâce :
à des fichiers de mapping XML modélisant les relations entre objets
à une librairies de fonction capable de générer des requêtes en leur passant des critères de sélection

http://www.hibernate.org/hib_docs/v3/re ... g-criteria

Pour répondre à ta première question : hibernate est donc tout a fait capable de créer des jointures entre les classes (classe + sous-classe ou bien jointure gauche/right, inner, etc.) ...

_________________
Cheers,
Laurent

Thanks for rating in case it helped !


Top
 Profile  
 
 Post subject:
PostPosted: Mon Apr 24, 2006 11:49 am 
Regular
Regular

Joined: Sat May 15, 2004 4:27 am
Posts: 79
Salut,

alors pour répondre à ta 1er question (même si j'utilise hibernate 2.1.6) prenons cet
exemple simple. Soit une classe persisté (donc tout le tralala qui fait que ça marche)
class Personne {
long personneId,
String nom;
int age,
int taille,
String sexe;

//etc... getters/setters
};

Je peux faire une requete dite de 'report' dessus . Ce qui m'interesse est un résulset
qui ne comporte que le nom et le sexe MAIS je ne veux pas que le résultat soit une
classe persisté MAIS dynamiqu. Donc je créé ma classe de report comme ceci

class MonResultat {
String nom,
String sexe;

MonResultat(String nom, String sexe) {
this.nom = nom;
this.sexe = sexe;
};

//getters/setters

};

Puis je fait en HQL :

'SELECT new MonResultat(Pnom, P.sexe) FROM Personne As P'

En retour, tu l'as compris tu as des objets MonResultat.

Quant à la 2ème question. Donc tu peux utiliser Hibernate pour ce genre boulot.
Il le fait trés bien. Je travaille sur un projet où pour des requêtes bien particulières
je récupére une connexion JDBC. Mais sinon tout est en Hibernate.

Ps: si cette réponse est utilie merci d'augmenter mon crédit


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.