...
Pour cela, dans Eclipse, après avoir correctement paramétré le fichier hibernate.cfg.xml, faire Window => Open Perspective => Hibernate.
Dans la vue Hibernate Configurations de cette perspective, cliquer sur le bouton "+" pour définir une nouvelle configuration. Renseigner les champs en s'inspirant de l'exemple suivant :
Pour initialiser la génération des fichiers Hibernate, faire Run => Hibernate Code Generation... => Open Hibernate Code Generation... Dialog... et renseigner à nouveau les champs en s'inspirant de l'exemple suivant :
Il ne vous reste plus qu'à cliquer sur le bouton Run.
Vous trouverez tous les fichiers générés dans le répertoire indiqué dans le champ Output Directory de l'onglet Main (cf ci-dessus). N'oubliez pas quand même :
...
<value>classpath:/properties/dao/hibernate/mapping/Population.hbm.xml</value>
Une fois ce travail effectué, vous pouvez directement lancer la target init-data du fichier build-devel.xml !
Utilisation de HQL
HQL est un langage d'interrogation de base de données de Hibernate. Il est orienté objet et a une forme proche du SQL mais travaille sur les objets Java définis dans vos fichiers de mapping et pas sur des noms de tables de votre base de données.
Note : Hibernate propose aussi une autre méthode d'interrogation, dite « requêtes par critères ». Il s'agit d'une API et non plus d'un langage comme HQL. Cette dernière n'est pas abordée dans ce document.
Contrairement à SQL, le mot clé SELECT de HQL n'est pas obligatoire. S'il n'est pas utilisé ce sont des objets qui sont retournés. S'il est utilisé, il est possible de seulement retourner les propriétés de ces objets.
Après le mot-clé FROM, on n'utilise pas de des noms de tables mais des noms de classes. Ce nom de classe est sensible à la casse comme en Java. Le nom du package n'est pas obligatoire car Hibernate a un mécanisme d'auto-import.
Exemple de requête HQL simple qui récupère toutes les instances de la classe Thing dans la base de données :
| Bloc de code |
|---|
"FROM Thing"
|
Avec HQL, il est possible de faire des jointures (mot clé JOIN), d'utiliser le mot clé WHERE afin de limiter les objets à retourner par la requête. Il est aussi possible d'utiliser des fonctions d'agrégation (sum(...), count( * )) et des expressions (upper(), +, between) dans les requêtes HQL. De même, le support de sous-requêtes et des clauses ORDER BY et GROUP BY est offert.
Pour plus de renseignements sur la construction des requêtes HQL, le lecteur se reportera à la documentation de Hibernate.
Dans esup-commons, HQL est notamment utilisé pour :
...




