
La FAQ HibernateConsultez toutes les FAQ
Nombre d'auteurs : 4, nombre de questions : 63, dernière mise à jour : 5 juin 2009
Sommaire→Les fichiers de mapping→La générationVous pouvez générer directement les fichiers de mapping depuis vos classes Java avec un outil intégré dans Hibernate (MapGenerator). L'emploi de cet utilitaire est très simple, il vous suffit de lancer la ligne de commande suivante :
java -cp classpath_contenant_hibernate_et_vos_classes net.sf.hibernate.tool.class2hbm.MapGenerator options et noms_des_classes
La principale option est la configuration du fichier de sortie :
--output=Fichier_de_sortie
Vous pouvez générer directement le code des classes Java depuis vos fichiers de mapping avec un outil intégré dans Hibernate (CodeGenerator). L'emploi en est très simple, il vous suffit de lancer la ligne de commande suivante :
java -cp classpath_hibernate net.sf.hibernate.tool.hbm2java.CodeGenerator options fichiers_de_mapping
Les options possibles sont :
--output=repertoire : Répertoire des fichiers générés
--config=fichier_config : fichier de configuration de la génération
Ce fichier permet entre autres, de configurer le package des classe générées et de modifier la portée des setters. Pour plus d'infos sur ce fichier de configuration (il est optionnel), je vous invite à lire ce qu'en dit la documentation officielle
Pour commencer, il vous faut paramétrer vos colonnes. C'est-à-dire que dans vos fichiers de mapping, pour chaque propriété, vous pouvez encore ajouter des options : length, precision, not-null et unique. Ainsi, lors de la création, vous aurez précisément le bon schéma qui sera créé. Vous pouvez aussi ajouter des contraints sur la balise column : default, check (pour ajouter une condition d'insertion) et sql-type pour mettre un type précis et non pas le type par défaut d'Hibernate.
Il est impératif de renseigner la propriété de dialecte SQL dans le fichier de propriété sans ca, la génération ne sera pas possible.
Pour lancer la génération, vous avez 2 choix, soit par programmation :
SchemaExport export = new SchemaExport(config);
export.create(true, true);
Soit en ligne de commande :
java -cp classpath_hibernate net.sf.hibernate.tool.hbm2ddl.SchemaExport options_de_lancement fichiers_de_mapping
Vous pouvez aussi utiliser SchemaUpdate pour mettre à jour le schéma et SchemaValidator pour vérifier qu'il est correct.
Lien : Plus d'infos sur cet outil


















