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 :

Outils pour créer le mapping hibernate à partir d’une base Mysql


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut Middlegen ou hibernate tools ?
    Bonjour.

    J’ai commencé à utiliser hibernate 3 dans une application struts mysql tomcat eclipse en codant tout à la main. Il n’est pas toujours facile de savoir quel type java ou SQL utiliser.

    -------------------------------------
    Type mysql --> Type java
    -------------------------------------
    tinyint(?) --> java.lang.Boolean
    Datetime --> java.sql.Timestamp ?
    -------------------------------------

    J’envisage donc d’utiliser un outil pour créer les fichiers *.hbm.xml à partir de ma base mysql.

    Il existe plusieurs outils. Certains sembles adapter à mon besoin ( middlegen / hybernate synchroniser / hybereclipse / hibernate tools ) d’autres non (hibernator).

    Les précédents posts sur le sujet m’incitent à écarter hyberclipse (peu d’utilisateurs), et hybernate synchroniser (les types java créés dans les *.hbm.xml sont parfois incohérents, dtd périmées dans les xml, imports hibernate 2 au lieu de 3 dans .java).

    Il me reste donc 2 options :

    . middlegen.
    --------------
    http://boss.bekk.no/boss/middlegen/index.html
    http://ultimania.org/middlegenide/
    compatible avec hibernate 3 ?
    compatible avec le conteneur de servlet tomcat ?
    ou uniquement avec un conteneur ejb type jboss ?

    . hibernate tools
    -------------------
    http://www.hibernate.org/255.html
    uniquement pour hibernate 3
    plugin eclipse Jboss IDE,
    fichiers .hbm.xml+ java. DAO
    teste des requêtes HQL

    Lequel choisir pour assurer une bonne compatibilité des types java avec mysql ?

    Merci à ceux qui donnerons leur avis.

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Perso, j'ai essayé HibernateTools c'est plutôt pas mal du tout. Et comme c'est un "sous-projet" Hibernate, je pencherai pour cet outil

  3. #3
    Membre averti Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 312
    Points
    312
    Par défaut
    Bonjour, je relance le sujet 3 ans après mais j'ai un problème avec Hibernate Tools. Tout simplement, je ne vois pas comment générer un fichier .hbm.xml à partir des informations de la table en base de données.

    Quand je fais Clic Droit > New > Other > Hibernate Mapping File, le menu proposé par Hibernate Tools ne me demande pas d'infos sur la table à mapper et se contente de générer un fichier vierge de propriétés.

    Quelqu'un sait-il comment faire ?

    Merci d'avance
    "Wash me away Clean your body of me Erase all the memories They'll only bring us pain And I've seen All i'll ever need"

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 82
    Points : 82
    Points
    82
    Par défaut
    Avec ce petit lien tu ne peux pas faire d'erreur:
    http://dev.mysql.com/doc/refman/5.0/...nversions.html

    En plus de ça si tu utilises Java 5 ou supérieur, pourquoi ne pas utiliser hibernate-annotation ? Au lieu de se galérer avec un fichier hbm.xml pour chaque entité, c'est lourd
    Code Poet

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 82
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par danyboy85 Voir le message
    Bonjour, je relance le sujet 3 ans après mais j'ai un problème avec Hibernate Tools. Tout simplement, je ne vois pas comment générer un fichier .hbm.xml à partir des informations de la table en base de données.

    Quand je fais Clic Droit > New > Other > Hibernate Mapping File, le menu proposé par Hibernate Tools ne me demande pas d'infos sur la table à mapper et se contente de générer un fichier vierge de propriétés.

    Quelqu'un sait-il comment faire ?

    Merci d'avance

    Oui c'est possible avec Hibernate Tool de générer tous les fichiers *.java et *.hbm.xml si tu as déjà la base de donnée toute prête déjà.

    Ouvrir Hibernate Configuration:
    Window > Show View > Hibernate > Hibernate Configuration

    Ajouter votre configuration:
    Nom du Projet, fichier hibernate.properties, hibernate.cfg.xml.
    Attention pour que le reverse engineering fonctionne il faut que la base de donnée tourne bien sur et que tout est correctement configurer sinon ba rien du tout.


    Ensuite tu fais :
    Run > Hibernate Code Generation > Hibernate Code Generation Configuration
    Le popup s'ouvre et tu configures.
    Clique droit sur Hibernate Code Generation > New
    Dans Main :

    Tu choisis la console de configuration, le dossier racine des sources.
    et tu coche la case Reverse Engineer from JDBC.

    Dans Exporters :
    coche ce que tu veux .java , .hbm.xml et y'a meme du DAO Code tout fait si besoin

    Et tu cliques sur Run.

    Normalement t'as tout ce que tu as demandé dans Exporters qui est généré.


    Plus d'explications c'est ici qu'il faut aller :
    https://www.hibernate.org/hib_docs/t...l/plugins.html
    Code Poet

  6. #6
    Membre régulier Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Points : 88
    Points
    88
    Par défaut probleme de suuport de relation de la base de donne
    Citation Envoyé par Miday Voir le message
    Oui c'est possible avec Hibernate Tool de générer tous les fichiers *.java et *.hbm.xml si tu as déjà la base de donnée toute prête déjà.

    Ouvrir Hibernate Configuration:
    Window > Show View > Hibernate > Hibernate Configuration

    Ajouter votre configuration:
    Nom du Projet, fichier hibernate.properties, hibernate.cfg.xml.
    Attention pour que le reverse engineering fonctionne il faut que la base de donnée tourne bien sur et que tout est correctement configurer sinon ba rien du tout.


    Ensuite tu fais :
    Run > Hibernate Code Generation > Hibernate Code Generation Configuration
    Le popup s'ouvre et tu configures.
    Clique droit sur Hibernate Code Generation > New
    Dans Main :

    Tu choisis la console de configuration, le dossier racine des sources.
    et tu coche la case Reverse Engineer from JDBC.

    Dans Exporters :
    coche ce que tu veux .java , .hbm.xml et y'a meme du DAO Code tout fait si besoin

    Et tu cliques sur Run.

    Normalement t'as tout ce que tu as demandé dans Exporters qui est généré.


    Plus d'explications c'est ici qu'il faut aller :
    https://www.hibernate.org/hib_docs/t...l/plugins.html


    oui cest ce que j'ai fait mais les fichiers de mapping généré ne contient pas les associations juste mapping de chaque table comme s'il n'ya pa de relation entre les tables

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 82
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par yacine.dev Voir le message
    oui cest ce que j'ai fait mais les fichiers de mapping généré ne contient pas les associations juste mapping de chaque table comme s'il n'ya pa de relation entre les tables
    Bizarre , as - tu cochez les cases "Detect Many-to-many tables" et "Detect one-to-one associations" ?

    Code Poet

  8. #8
    Membre régulier Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Points : 88
    Points
    88
    Par défaut
    oui jl'ai coché mais je sais pas finalement j'ai decidé d'ecrire le mapping a la main merci

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/04/2007, 13h54
  2. Cherche un outils pour créer des pages web
    Par jeha dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 18/03/2007, 12h30
  3. outil pour créer une aide en ligne
    Par delas dans le forum Struts 1
    Réponses: 2
    Dernier message: 28/11/2006, 10h23
  4. Réponses: 1
    Dernier message: 18/05/2006, 21h22
  5. Outil pour créer des interfaces graphiques
    Par Cyborg289 dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 11/07/2005, 16h48

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