IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

[Hibernate Tools] Reverse Engineering


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 100
    Par défaut [Hibernate Tools] Reverse Engineering
    J'ai un mapping déjà en place vers une une BDD (une centaine de tables environ). Plusieurs projet qui fonctionnnent déjà avec le mapping en place.
    Le problème est que la maintenance du mapping doit être faite manuellement.

    J'aurais voulu automatiser la génération du mapping à l'aide de Hibernate Tools mais la doc de ce dernier est plutot légère concernant la customisation du reverse engineering ! Je voudrais minimiser les impacts après la regénération des fichiers. Parmi les modifs à faire, celle qui ne devrait pas être trop dure (voir en partie fait) :
    * Transformer tel type en base par tel type java
    * Exclure les vues
    et les autres que j'ai pas encore bcp d'idée comment faire :
    * Conserver les différents package auparavant utilisé (objetmetier, dao, base) avec l'héritage entre les différentes classes des différents package (Table hérite de BaseTable et TableDAO hérite de BaseTableDAO, ... structure fournie par Hibernate Sync pour ceux qui connaissent)
    * Suffixer les classe DAO par DAO et non pas Home
    * Faire les composite-id sans utiliser de classe spécifique (table.java et tableId.java pour la clé composée)
    * ...

    (1) Déjà premier problème, je ne trouve pas le package org.hibernate.cfg.reveng dans hibernate3.jar ... est-ce que je cherche au bon endroit ? Est-ce qu'il est dans un autre jar ?

    (2) Ensuite je sens que je vais devoir redéfinir une ReverseEngineeringStrategy, j'ai pas trouver grand chose pour le moment sur le net ne serait-ce que pour m'indiquer les possibilité offerte par une CustomStrategy ! Des liens à me proposer ?

    (3) Ou si vous connaissez des tutos, des exemples, des infos, des idées ou tout autre "truc" pour m'aider dans ma quête !?

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 100
    Par défaut
    Pour répondre à ma question (1), oui c'est dans un autre jar. En fait je l'ai trouvé dans le jar hibernate-tools-3.2.0.beta9a

    Il me reste plus qu'à voir comment ca marche cette bête là !

    (Je suis toujours preneur de toute aide que vous pourriez fournir )

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 100
    Par défaut
    Donc j'ai regarder (principalement sur forum.hibernate.org)
    Parmi ce que je voulais faire :
    * Transformer tel type en base par tel type java
    * Exclure les vues
    * Conserver les différents package auparavant utilisé (objetmetier, dao, base) avec l'héritage entre les différentes classes des différents package (Table hérite de BaseTable et TableDAO hérite de BaseTableDAO, ... structure fournie par Hibernate Sync pour ceux qui connaissent)
    * Suffixer les classe DAO par DAO et non pas Home
    * Faire les composite-id sans utiliser de classe spécifique (table.java et tableId.java pour la clé composée)
    Les deux premiers sont facilement paramétrable dans le reveng.xml
    Les package je ne vois pas trop ou vaguement comment faire, et j'ai abandonner. De même pour les classes suffixer par DAO au lieu de Home.

    Par contre, pour les composite-id, j'ai fini par y arrivé. (http://forum.hibernate.org/viewtopic...346749#2346749)

    Ce qu'il faut faire c'est utiliser un custom template pour la generation du fichier hbm.xml (voir capture ci-dessous). On trouve ceci dans le jar de hibernate-tools dans le dossier hbm.
    Le template qui nous interesse ici est id.hbm.ftl. Dans celui-ci (après l'avoir recopier dans son projet) il suffit d'enlever les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		name="${property.name}"
            class="${property.value.getComponentClassName()}"
    Ainsi, à la génération des fichiers hbm.xml, il ne mets plus ces attributs source de tout mes soucis.






    Concernant les problèmes de package et de nom de fichier, je pense qu'en modifiant également certains templates, on doit pouvoir y arriver ... A confirmer si quelqu'un a envie de regarder (pas pour l'instant pour ma part).


    Edit : j'ai failli oublier ... merci pour votre aide

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Par défaut
    Bonjour, j'aimerais savoir si tu as pu générer les héritages entre classe avec Hibernate Tools car je n'y parviens pas à partir de ta base de données.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Hibernate Tools 3.2.4.GA reverse
    Par cDelaplace dans le forum Hibernate
    Réponses: 0
    Dernier message: 19/03/2010, 22h59
  2. hibernate reverse engineering
    Par dev2008 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 15/09/2009, 22h46
  3. Réponses: 4
    Dernier message: 20/05/2009, 16h54
  4. Hibernate PostGre Table Vide reverse engineering
    Par eee.eee dans le forum Hibernate
    Réponses: 2
    Dernier message: 16/05/2009, 09h54
  5. [Hibernate tool] héritage et reverse engineering
    Par wushual1 dans le forum Hibernate
    Réponses: 1
    Dernier message: 22/07/2008, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo