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();
 
 
 }
}