2010-04-05 3 views
3

Bonjour Je suis conscient du plugin Hibernate Eclipse qui nous aide (à travers une série d'écrans et de clics de bouton) à générer les classes POJO et DAO pour les tables sous-jacentes. Mais je voudrais imiter cela dans un environnement d'exécution, c'est-à-dire que je voudrais être capable de faire exactement les mêmes étapes par programme, où je devrais pouvoir fournir le fichier .cfg.xml, le fichier reveng.xml, l'URL de la base de données , le dossier de destination, via une ligne de commande/paramètres dans les arguments principaux (String [])Comment générer des classes POJO Hibernate par programmation?

Apparemment, aucun outil de ce type ne fonctionne dans un scénario Hibernate pur. Il y en a un qui est réglé pour générer du code pour le cadre du printemps - mais ce n'est pas directement utile pour moi en ce moment.

J'ai essayé de télécharger le code source de hibernate-tools.jar pour le plugin eclipse, mais pour le moment, le lien de téléchargement du code src sur hibernate.org (nouveau design) a été désactivé pour une raison quelconque.

Est-ce que quelqu'un a déjà manipulé une telle chose auparavant? Ou pouvez-vous me donner quelques indices pour le faire?

J'ai essayé un certain l'objet de classe JDBCReader, la raison d'être lu toutes les tables en utilisant les méthodes de JDBCReader puis comprendre comment utiliser la classe de générateur hbm2POJO ....

Répondre

3

Je voudrais pouvoir faire exactement les mêmes étapes par programme, où je devrais être en mesure de fournir le fichier .cfg.xml, le fichier reveng.xml, l'URL de base de données, le dossier de destination, via un ligne de commande/paramètres dans le principal (String [] args)

les Hibernate Tools for Eclipse and Ant sont utilisables à la fois Eclipse et Ant, respectivement par le biais d'un plug-in Eclipse et par une tâche Ant et les deux partagent les mêmes classes sous-jacentes que vous pouvez réutiliser " par programmation "(je ne suis pas sûr de comprendre ce que vous essayez de faire si).

J'ai essayé de télécharger le code source de mise en veille prolongée-tools.jar pour le plugin Eclipse, mais maintenant le code src lien de téléchargement hibernate.org (nouveau design) a été désactivé pour une raison quelconque.

Vous pouvez obtenir des sources d'outils Hibernate à partir de JBoss subversion repositories. Plus précisément, vérifiez le projet suivant: http://anonsvn.jboss.org/repos/hibernate/trunk/HibernateExt/tools/. Les cours que vous cherchez sont en org.hibernate.tool.hbm2x.*.

+0

@Pascal Thivent Merci pour cela.Franchement, je ne suis pas très heureux de l'idée de le faire non plus. mais j'ai été instruit pour savoir comment faire ceci, et donc cet effort :) – Vatsala

3

Il semble qu'il y ait un ant task de le faire. Vous pouvez appeler cette tâche ant par programme en instanciant org.hibernate.tool.ant.HibernateToolTask et en appelant sa méthode execute(). Vous pouvez donc le faire à la compilation ou à l'exécution.

Mais je déconseille cela. Vous n'avez pas dit utiliser le scénario, mais je ne pense pas qu'il y ait beaucoup de scénarios raisonnables pour cela.

+0

Je suis d'accord avec vous, il n'y a pas beaucoup de scénarios raisonnables pour cela. J'explore cela comme l'une des nombreuses options permettant de gérer la configuration initiale de mon projet d'application Web actuel. Merci pour le plomb. Je vais explorer cela. – Vatsala

0

Pour automatiser la génération de pojos, vous pouvez ajouter un plugin maven-antrun-plugin au fichier pom.xml. Ou vous pouvez générer des classes pojo en utilisant la tâche d'outil Hibernate de manière pragmatique. Référez-le git project pour générer des pojos de hbm.

Questions connexes