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 :

Plugin Hibernate Tools


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut Plugin Hibernate Tools
    Lorsque je configure via la vue Hibernate Configurations dans Eclipse, j'obtiens le message suivant, lorsque je veux accèder à mes tables...
    Qui pourtant fonctionnent parfaitement sans le plugin, tout comme les mappings...

    org.hibernate.MappingException: Could not read mapping document from file: D:\Utilisat\a432566\Mes Documents\Workspace\HibernateLivres3\src\mappings\livres.hbm.xml
    org.hibernate.DuplicateMappingException: Duplicate class/entity mapping bean.Livres
    org.hibernate.DuplicateMappingException: Duplicate class/entity mapping bean.Livres

    Une idée?

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    Dans ton fichier de mapping (hibernate.cfg.xml si tu as gardé le nom par de defaut ) cherche une ligne ou il y'aurait
    <mapping resource="mappings/livres.hbm.xml"/>
    et supprime là.
    Juste te rappeler aussi que dans la doc hibernate, ils conseillent de laisser les fichiers de mapping au même niveau que les classes Java qui correspondent.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    J'ai enlevé la ligne qui indiquait le nom du fichier de mapping, et maintennat, c'est mes classes qu'il ne trouve pas ! Sachant que j'ai tout mis dans mon répertoire src, et chnager les chemins en conséquence.

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    Il faut rajouter le repertoire dans lequel tu stockes tes .class (classes pour moi) dans le classpath de ton fichier de config.

    En piece jointe, l'exemple de ma fenetre de config.
    Images attachées Images attachées  

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    C'est ajouté, il trouve bien mes classes du coup nickel !
    Mais me mets en dessous : <SessionFactory error: LivresStat (Unsupported major.minor version 49.0)> ?????
    Je vois pas ce qu'il veut !
    Je suis censé pouvoir accèder à ma base en-dessous, mais ce n'est pas le cas

    Ca semble venir de la JDK ! Je regarde ! Il me dit d'utiliser la JDK 1.5 pour que ça marche! Hors c'est justement celle que j'utilise, et de toute façon ma classse est toute con, elle devrait pas avoir besoin de la 1.5 .

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    ola,
    Est - il possible de générer mes fichiers de mappings .hbm à l'aide de ce plugin? Si oui, pouvez vous me l'indiquez? dois je passer obligatoirement par un fichier build.xml avec ANT?
    Merci
    Yoko

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    derriere tu te connectes a quel base ? si tu peux copier coller le contenu de ta classe ce serait cool même si elle est toute bidon.

    Citation Envoyé par YokoSop
    Est - il possible de générer mes fichiers de mappings .hbm à l'aide de ce plugin? Si oui, pouvez vous me l'indiquez? dois je passer obligatoirement par un fichier build.xml avec ANT
    Oui c'est possible, car il integre un outil de reverse engeenering (suis pas sur de cette orthographe) qui te permet de génerer tes fichier .hbm à partir du schéma de ta base. Mais il faut faire attention car suivant la complexité de ton schéma, tu pourrais être ammener à faire des modifs sur les fichiers générees pour rester conforme au schéma initial

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    La fenêtre exacte mise :
    Starting Hibernate in a UnsupportedClassVersionError.
    This can occur if you are running eclipse with JDK 1.4 and your domain classes require JDK 1.5.
    Resolution : Run eclipse with JDK 1.5.
    Reason :
    java.lang.UnsupportedClassVersionError: LivresStat (Unsupported major.minor version 49.0)

    Or : je n'arrive pas à lancer Eclipse avec la JDK 1.5, qui pourtant est paramètré dans Eclipse, mais ma vraiable d'environnement PATH est sur la 1.4, et je ne peut pas la changer, un moyen de chnager ça au démarrage (G tenté démarrer dans ... eclipse -vm ...., mais ça marche pas, il mets le même message)

    Et je ne vois pas pourquoi il veut cette satané 1.5 !!!!

    Ma classe LivresStat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    /** @author Hibernate CodeGenerator */
    public class LivresStat {
     
        private Integer idExemplaire;
        private Integer nbPages;
        private Integer nbChapitres;
        private Integer nbExemplairesExistant;
    	private boolean estRenseigne;
    	private Integer calcul;
     
        public LivresStat() {
    		super();
    	}
     
    	/**
             * @return Returns the idExemplaire.
             */
    	public Integer getIdExemplaire() {
    		return idExemplaire;
    	}
     
    	/**
             * @param idExemplaire The idExemplaire to set.
             */
    	public void setIdExemplaire(Integer idExemplaire) {
    		this.idExemplaire = idExemplaire;
    	}
     
    	/**
             * @return Returns the nbChapitres.
             */
    	public Integer getNbChapitres() {
    		return nbChapitres;
    	}
     
    	/**
             * @param nbChapitres The nbChapitres to set.
             */
    	public void setNbChapitres(Integer nbChapitres) {
    		this.nbChapitres = nbChapitres;
    	}
     
    	/**
             * @return Returns the nbExemplairesExistant.
             */
    	public Integer getNbExemplairesExistant() {
    		return nbExemplairesExistant;
    	}
     
    	/**
             * @param nbExemplairesExistant The nbExemplairesExistant to set.
             */
    	public void setNbExemplairesExistant(Integer nbExemplairesExistant) {
    		this.nbExemplairesExistant = nbExemplairesExistant;
    	}
     
    	/**
             * @return Returns the nbPages.
             */
    	public Integer getNbPages() {
    		return nbPages;
    	}
     
    	/**
             * @param nbPages The nbPages to set.
             */
    	public void setNbPages(Integer nbPages) {
    		this.nbPages = nbPages;
    	}
     
    	/**
             * @return Returns the estRenseigne.
             */
    	public boolean isEstRenseigne() {
    		return estRenseigne;
    	}
     
    	/**
             * @param estRenseigne The estRenseigne to set.
             */
    	public void setEstRenseigne(boolean estRenseigne) {
    		this.estRenseigne = estRenseigne;
    	}
     
    	/**
             * @return Returns the calcul.
             */
    	public Integer getCalcul() {
    		return calcul;
    	}
     
    	/**
             * @param calcul The calcul to set.
             */
    	public void setCalcul(Integer calcul) {
    		this.calcul = calcul;
    	}
     
    }
    Pour générer mes mappings à partir de la bse, moi j'utilise le ddl2hbm d'Hibernate2, et jrechange le 2 en 3 dans mes mappings, c'est brabare, mais ça marche bien !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Je me connecte à une base de données MySQL5...
    Cela ne me dérange pas de faire des modifs des fichiers hbm... Cela me semblait probable.
    Voici un exemple de mon fichier de configuration hibernate.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <hibernate-configuration>
     
        <session-factory name="CallCenterSessionFactory">
    	    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.password">mysqladmin</property>
            <property name="hibernate.connection.url">jdbc:mysql://opensourceserv:3306/db_callcenter</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.default_catalog">db_callcenter</property>
            <property name="hibernate.default_schema">db_callcenter</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
    		<property name="hibernate.show_sql">true</property>
     
     
     
        </session-factory>
     
    </hibernate-configuration>

    Ma classe Adresse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    public class Adresse {
     
    	private String adresse1;
     
    	private String adresse2;
     
    	private String cp;
     
    	private String ville;
     
    	private Pays pays;
     
    	public Adresse(String adresse1, String adresse2, String cp, String ville,
    			Pays pays) throws Exception {
    		super();
    		this.setAdresse1(adresse1);
    		this.setAdresse2(adresse2);
    		this.setCp(cp);
    		this.setPays(pays);
    		this.setVille(ville);
    	}
     
    	public String getAdresse1() {
    		return adresse1;
    	}
     
    	public void setAdresse1(String adresse1) {
    		this.adresse1 = adresse1;
    	}
     
    	public String getAdresse2() {
    		return adresse2;
    	}
     
    	public void setAdresse2(String adresse2) {
    		this.adresse2 = adresse2;
    	}
     
    	public String getCp() {
    		return cp;
    	}
     
    	public void setCp(String cp) throws Exception {
    		if (!cp.matches("((0[1-9])|([1-9][0-9]))[0-9]{3}+")) {
    			throw new Exception("Le format du code postal n'est pas valide");
    		}
    		this.cp = cp;
    	}
     
    	public Pays getPays() {
    		return pays;
    	}
     
    	public void setPays(Pays pays) {
    		this.pays = pays;
    	}
     
    	public String getVille() {
    		return ville;
    	}
     
    	public void setVille(String ville) throws Exception {
    		if (!ville.matches("[^0-9]*")) {
    			throw new Exception("Le format de la ville n'est pas valide");
    		}
    		this.ville = ville;
    	}
     
    	public void affiche(){
    		System.out.println("\nAdresse 1 : "+this.getAdresse1()+"\nAdresse 2 : "+this.getAdresse2()+"\nCode postal : "+this.getCp()+"\nVille : "+this.getVille()+"\nPays : "+this.getPays().getLibelle());
    	}
     
     
    } // end Adresse

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    Priez de faire un nouveau post pour un sujet différent merci.
    Ici, c'est un debug, pas un tuto pour plugin Hibernate, ce qui serait néanmoins bien ! Merci.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 44
    Points
    44

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    windows + pause pour atteindre la variable d'envirronement ce n'est pas possible?
    SET ma_variable = "monpathJDK1.4", ça ne marche pas ds une fenetre de commande...?

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    Merci.
    Je voulais donc préciser que même après avoir simplifié mon mapping, il mets la même erreur sur une autre classe !!!!

    Pourquoi veut-il la 1.5 ce méchant ?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    de souvenir, il me semble que hibernate 3 ne fonctionne quavec la 1.5..!!

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    Non non ! Hibernate 3.0 marchait parfaitement sans plugin, avec la JDK 1.4 !

  16. #16
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    Pour ce qui est de eclipse en 1.5, une fois que tu rajoutes le jdk dans ton environemment eclipse indique à eclipse d'utiliser le jdk 1.5 pour travailler est-ce que tu l'as fait ?

    rassure moi ta DOCTYPE est bien comme ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <!DOCTYPE hibernate-configuration PUBLIC
    		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    Sinon la j'avoue je seche, je ne vois pas pourquoi il fait ça. car moi dans mon cas pareil je suis dans un environnement 1.4 et je travaille avec hibernate 3

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    C'est fait, j'ai bien configurer Eclipse en 1.5, mais mon problème : c'est qu'en fait je ne peux pas chnager les variables d'environnement de la machine, seul celles utilisateurs. Et vu que PATH a la JDK 1.4 d'Oracle dedans, j'ai beau chnager la variable Path utilisateur, il la concatène, et prend la première, fonctionne donc en 1.5 ! Jvoudrais forcer la 1.5 au démarrage ! Une solution ?

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    il faut mettre ton path de jdk après celui de oracle. j'ai déja eu le pb.
    si c po après c avt..; ^^

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    J'ai mis mon path de JDK 1.5 dans ma variable d'environnement. Quant à l'ordre, je ne peux pas le changer. Car, je ne suis pas admin, dc celle d'oracle étant défini dans les varaibles globales.... il colle la mienne après...

  20. #20
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    Donc ça doit être la version du JDK dans Oracle qui n'est compatible avec hibernate 3.

    DOnc une solution possible serait de redefinir la variable JAVA_HOME dans ton env utilisateur ou dans un script .bat et ensuite lancer eclipse. Normalement ça devrait marcher

    Donc ton script .bat pourrait etre ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SET JAVA_HOME=CHEMIN
     
    eclipse.exe
    Il faudrait que ton .bat soit bien sur dans eclipse pour que tu puisses l'executer

Discussions similaires

  1. [Plugin][Hibernate Tools] sous eclipse
    Par c_salsabil dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 21/03/2010, 18h44
  2. [Plugin Hibernate Tools] Génération de fichier HBM
    Par YokoSop dans le forum Hibernate
    Réponses: 4
    Dernier message: 21/05/2008, 10h02
  3. Problème avec le plugin Hibernate tools
    Par euyeusu dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/10/2007, 12h46
  4. Plugins Hibernate Tools sous Maven2
    Par xixi31 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/10/2006, 09h23
  5. [Plugin][Hibernate Tools] java.lang.NoClassDefFoundError
    Par notrustinyou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/11/2005, 17h17

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