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 probleme de configuration


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 42
    Par défaut hibernate probleme de configuration
    Bonjour,

    En fait, je suis debutante et j'ai un programme à réaliser avec hibernate.
    j'ai un petit prog de test, mais ça ma générer qlq erreur que j'ai pa su résoudre.
    voila mon message d'erreur:

    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    12:54:42,625  INFO Environment:464 - Hibernate 3.0.5
    12:54:42,625  INFO Environment:477 - hibernate.properties not found
    12:54:42,640  INFO Environment:510 - using CGLIB reflection optimizer
    12:54:42,640  INFO Environment:540 - using JDK 1.4 java.sql.Timestamp handling
    12:54:42,687  INFO Configuration:1110 - configuring from resource: /hibernate.cfg.xml
    12:54:42,687  INFO Configuration:1081 - Configuration resource: /hibernate.cfg.xml
    12:54:42,921  INFO Configuration:444 - Mapping resource: com/minosis/hibernate/TContact.hbm.xml
    12:54:43,000  INFO HbmBinder:260 - Mapping class: com.minosis.hibernate.TContact -> t_contact
    12:54:43,015  INFO Configuration:1222 - Configured SessionFactory: null
    12:54:43,015  INFO Configuration:875 - processing extends queue
    12:54:43,015  INFO Configuration:879 - processing collection mappings
    12:54:43,015  INFO Configuration:888 - processing association property references
    12:54:43,015  INFO Configuration:917 - processing foreign key constraints
    12:54:43,062  INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
    12:54:43,062  INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 20
    12:54:43,062  INFO DriverManagerConnectionProvider:45 - autocommit mode: false
    12:54:43,078  INFO DriverManagerConnectionProvider:80 - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/base1
    12:54:43,078  INFO DriverManagerConnectionProvider:86 - connection properties: {user=root, password=****}
    12:54:44,000  WARN SettingsFactory:103 - Could not obtain connection metadata
    java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused: connect
    
    ** BEGIN NESTED EXCEPTION ** 
    
    java.net.ConnectException
    MESSAGE: Connection refused: connect
    
    STACKTRACE:
    
    java.net.ConnectException: Connection refused: connect
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    	at java.net.Socket.connect(Socket.java:516)
    	at java.net.Socket.connect(Socket.java:466)
    	at java.net.Socket.<init>(Socket.java:366)
    	at java.net.Socket.<init>(Socket.java:179)
    	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:124)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
    	at com.mysql.jdbc.Connection.createNewIO(Connection.java:1783)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:450)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
    	at java.sql.DriverManager.getConnection(DriverManager.java:525)
    	at java.sql.DriverManager.getConnection(DriverManager.java:140)
    	at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
    	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)
    	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1463)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1004)
    	at com.minosis.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:16)
    	at com.minosis.hibernate.Test.main(Test.java:12)
    
    
    ** END NESTED EXCEPTION **
    
    
    	at com.mysql.jdbc.Connection.createNewIO(Connection.java:1851)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:450)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
    	at java.sql.DriverManager.getConnection(DriverManager.java:525)
    	at java.sql.DriverManager.getConnection(DriverManager.java:140)
    	at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
    	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)
    	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1463)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1004)
    	at com.minosis.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:16)
    	at com.minosis.hibernate.Test.main(Test.java:12)
    12:54:44,046  INFO Dialect:92 - Using dialect: org.hibernate.dialect.MySQLDialect
    12:54:44,046  INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions)
    12:54:44,062  INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    12:54:44,062  INFO SettingsFactory:125 - Automatic flush during beforeCompletion(): disabled
    12:54:44,062  INFO SettingsFactory:129 - Automatic session close at end of transaction: disabled
    12:54:44,062  INFO SettingsFactory:144 - Scrollable result sets: disabled
    12:54:44,062  INFO SettingsFactory:152 - JDBC3 getGeneratedKeys(): disabled
    12:54:44,062  INFO SettingsFactory:160 - Connection release mode: null
    12:54:44,062  INFO SettingsFactory:184 - Maximum outer join fetch depth: 2
    12:54:44,062  INFO SettingsFactory:187 - Default batch fetch size: 1
    12:54:44,062  INFO SettingsFactory:191 - Generate SQL with comments: disabled
    12:54:44,062  INFO SettingsFactory:195 - Order SQL updates by primary key: disabled
    12:54:44,062  INFO SettingsFactory:334 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    12:54:44,062  INFO ASTQueryTranslatorFactory:21 - Using ASTQueryTranslatorFactory
    12:54:44,078  INFO SettingsFactory:203 - Query language substitutions: {}
    12:54:44,078  INFO SettingsFactory:209 - Second-level cache: enabled
    12:54:44,078  INFO SettingsFactory:213 - Query cache: disabled
    12:54:44,078  INFO SettingsFactory:321 - Cache provider: org.hibernate.cache.EhCacheProvider
    12:54:44,078  INFO SettingsFactory:228 - Optimize cache for minimal puts: disabled
    12:54:44,078  INFO SettingsFactory:237 - Structured second-level cache entries: disabled
    12:54:44,093  INFO SettingsFactory:261 - Statistics: disabled
    12:54:44,093  INFO SettingsFactory:265 - Deleted entity synthetic identifier rollback: disabled
    12:54:44,093  INFO SettingsFactory:279 - Default entity-mode: pojo
    12:54:44,218  INFO SessionFactoryImpl:152 - building session factory
    12:54:44,234  WARN Configurator:126 - No configuration found. Configuring 
    ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/dev/MyEclipse%205.0M2/eclipse/plugins/com.genuitec.org.hibernate.eclipse_4.9.200/myeclipse-data/3.0/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
    
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at com.minosis.hibernate.Test.main(Test.java:12)
    Caused by: java.lang.RuntimeException: Problème de configuration : Could not find a getter for Nom in class com.minosis.hibernate.TContact
    	at com.minosis.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:18)
    	... 1 more
    Caused by: org.hibernate.PropertyNotFoundException: Could not find a getter for Nom in class com.minosis.hibernate.TContact
    	at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:213)
    	at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:207)
    	at org.hibernate.mapping.Property.getGetter(Property.java:240)
    	at org.hibernate.tuple.PojoTuplizer.buildPropertyGetter(PojoTuplizer.java:237)
    	at org.hibernate.tuple.AbstractTuplizer.<init>(AbstractTuplizer.java:73)
    	at org.hibernate.tuple.PojoTuplizer.<init>(PojoTuplizer.java:54)
    	at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:47)
    	at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:218)
    	at org.hibernate.persister.entity.BasicEntityPersister.<init>(BasicEntityPersister.java:400)
    	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:104)
    	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:211)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1005)
    	at com.minosis.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:16)
    	... 1 more
    fichier de configuration: hibernate.cfg.xml

    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
     
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
     
    <!-- Generated by MyEclipse Hibernate Tools.                   -->
    <hibernate-configuration>
     
    	<session-factory>
     
    		<property name="connection.username">root</property>
    		<property name="connection.password"></property>
    		<property name="connection.url">jdbc:mysql://localhost:3306/base1</property>
    		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    		<property name="myeclipse.connection.profile">base1</property>
    		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
     
    		<mapping resource="com/minosis/hibernate/TContact.hbm.xml" />
     
    	</session-factory>
     
    </hibernate-configuration>
    fichier de mapping :hibernate.hbm.xml

    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
     
    <hibernate-mapping>
     
     <class name="com.minosis.hibernate.TContact" table="t_contact" catalog="base1">
     
     <id name="Id" type="integer">
     <column name="id" sql-type="int(4)"/>
     <generator class="increment" />
     </id>
     
     <property name="Nom" type="string">
     <column name="nom" sql-type="char(50)" not-null="true"/>
     </property>
     
     <property name="Prenom" type="string">
     <column name="prenom" sql-type="char(50)" not-null="true"/>
     </property>
     
     <property name="Age" type="integer">
     <column name="age" sql-type="int(4)" not-null="true"/>
     </property>
     
     </class>
     
    </hibernate-mapping>

    fichier hibernateUtil.java

    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
     
    package com.minosis.hibernate;
     
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
     
    public class HibernateUtil {
     
     private static final SessionFactory sessionFactory;
     
     static {
       try {
       // Crée la SessionFactory
       sessionFactory =
    	 new Configuration().configure().buildSessionFactory();
       } catch (HibernateException ex) {
       throw new RuntimeException("Problème de configuration : "
       + ex.getMessage(), ex);
       }
       }
     
     public static final ThreadLocal session = new ThreadLocal();
     
     public static Session currentSession()
    		throws HibernateException {
       Session s = (Session) session.get();
       // Ouvre une nouvelle Session, si ce Thread n'en a aucune
       if (s == null) {
       s = sessionFactory.openSession();
       session.set(s);
       }
       return s;
       }
     
     public static void closeSession()
    		throws HibernateException {
       Session s = (Session) session.get();
       session.set(null);
       if (s != null)
       s.close();
       }
     }
    mon programme de test

    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
     
    package com.minosis.hibernate;
     
    import org.hibernate.*;
    import java.util.*;
     
     
    public class Test {
     
     public static void main(String[] args)
    	throws HibernateException {
    	 //On crée une nouvelle Session à partir du SessionFactory static donné par HibernateUtil.
    	 Session session = HibernateUtil.currentSession();
     
    	 //Une transaction est démarrée pour pallier à d'éventuels problèmes lors de l'insertion
    	 Transaction tx = session.beginTransaction();
     
    	 //Jean Dupont est inséré ensuite, grâce à la classe TContact.
    	 //Puis la transaction est commitée avant la fermeture de la session
    	 TContactId contact = new TContactId();
    	 contact.setNom("Dupont");
    	 contact.setPrenom("Jean");
    	 contact.setAge(new Integer(44));
    	 session.save(contact);
     
    	 contact = new TContactId();
    	 contact.setNom("Lambert");
    	 contact.setPrenom("Julie");
    	 contact.setAge(new Integer(27));
    	 session.save(contact);
     
    	 tx.commit();
     
    	 HibernateUtil.closeSession();
     
     
     }
    }

  2. #2
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Ouhlalala ya du code qui se fait repomper la. J'ai vu ce code il y a 3h avec un autre pseudo (celui de gentil) . Soit repompage soit 2 pseudos,


    Sinon bref,
    Ton erreur est qu'il n'arrive pas à se connecter à ta base.

    Vérifie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <property name="connection.username">root</property>
    <property name="connection.password"></property>
    <property name="connection.url">jdbc:mysql://localhost:3306/base1</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    Ton user, ton password, ton url, et que ton driver soit bien dans le classpath.

    Ce qui est bizarre c'est que dans la stacktrace il y a marquer qu'il a essayer de se connecter en utilisant un password de 4 caractere et que tu n'en ais pas dans ta config;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 42
    Par défaut
    En fait, j'ai trouvé le probleme..

    je passais pa le bonne class ( qui contient les getter et les setter ) dans le fichier de mapping, du coup il trouve
    pa le getter du nom .

    voila, merci pour vautre aide commeme .

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 42
    Par défaut
    j'ai un autre probleme au niveau de la selection des données de la DB ...

    voila mon code de selection déja :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
     Session session = HibernateUtil.currentSession();
     Transaction tx = session.beginTransaction();
     List list = session.find("from TContact where nom like '%t'");
    	 Iterator it = list.iterator();
    	 while(it.hasNext())
    	 {
    	   TContactId contact = (TContactId)it.next();
    	   System.out.println(contact.getNom());
    	 }
     HibernateUtil.closeSession();
     HibernateUtil.closeSession();
    en fait il reconnais pa la methode find de la slass session: session.find("string");
    donc svp si vs pouvez m'aider, j'ai besoin de fair une selection de la base de données et je trouve pa garnd chose sur internet .
    merci d'avance

  5. #5
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    C'est pas parce que tu as décidé que tu voulais faire un find que la méthode doit s'apeller find.

    Tient voila une chose très importante dont tu dois te servir.
    IL existe le meme type de documentation pour toutes les classes Java (normalement).

    http://www.hibernate.org/hib_docs/v3...e/Session.html

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 42
    Par défaut
    merci pr ta réponse,
    mais sinn comment on fait une selection si on utilise pa find??

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/08/2010, 09h59
  2. problem parsing configuration/hibernate.cfg.xml
    Par gentil dans le forum Hibernate
    Réponses: 3
    Dernier message: 10/01/2008, 23h17
  3. problem parsing configuration/hibernate.cfg.xml
    Par allstar dans le forum Hibernate
    Réponses: 2
    Dernier message: 25/08/2006, 07h23
  4. [Hibernate]probleme fichier de configuration xml
    Par scoryo dans le forum Hibernate
    Réponses: 4
    Dernier message: 07/06/2006, 18h42

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