Bonjour à tous .J'etaii en train de faire le tutorial d'hibernate
mais je suis bloqué avec un probléme que j'ai été incapable de résoudre.
Voici la config

fichier config hubernate
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-configuration>
	<session-factory>
		<!-- local connection properties -->
		<property name="hibernate.connection.url">
			jdbc:mysql://localhost:3306/personne
		</property>
		<property name="hibernate.connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">mysql</property>
		<!-- dialect for MySQL -->
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.transaction.factory_class">
			org.hibernate.transaction.JDBCTransactionFactory
		</property>
		<!-- Enable Hibernate's automatic session context management -->
                <property name="current_session_context_class">thread</property>
   	        <mapping resource="hibernate/Personne.hbm" />
 	        <mapping resource="hibernate/TContact.hbm" />
	</session-factory>
</hibernate-configuration>
TContact.hbm
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
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="hibernate">
	<class
		name="TContact"
		table="t_contact"
	>
		<meta attribute="sync-DAO">true</meta>
		<property
			name="Id"
			column="id"
			type="integer"
			not-null="true"
			length="10"
		/>
		<property
			name="Nom"
			column="nom"
			type="string"
			not-null="false"
			length="45"
		/>
		<property
			name="Prenom"
			column="prenom"
			type="string"
			not-null="false"
			length="45"
		/>
		<property
			name="Age"
			column="age"
			type="integer"
			not-null="false"
			length="10"
		/>
	</class>	
</hibernate-mapping>
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
package test;
 
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtil {
 
    private static final SessionFactory sessionFactory = buildSessionFactory();
 
    private static SessionFactory buildSessionFactory() {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            return new Configuration().configure().buildSessionFactory();
        }
        catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
 
}
eventManager.java (classe 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
package hibernate;
 
 
import org.hibernate.Session;
 
import test.HibernateUtil;
 
 
public class EventManager {
 
    public static void main(String[] args) {
 
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
       TContact contact = new TContact();
   	 	contact.setNom("Dupont");
   	 	contact.setPrenom("Jean");
   	 	contact.setAge(new Integer(44));
   	 	session.save(contact);
        session.getTransaction().commit();
 
        HibernateUtil.getSessionFactory().close();
    }
}
et l'erreur généré sur la console
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
125 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
140 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.0.Final
140 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
140 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
156 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
218 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
218 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
281 [main] ERROR org.hibernate.util.XMLHelper - Error parsing XML: /hibernate.cfg.xml(2) Document is invalid: no grammar found.
281 [main] ERROR org.hibernate.util.XMLHelper - Error parsing XML: /hibernate.cfg.xml(2) Document root element "hibernate-configuration", must match DOCTYPE root "null".
Initial SessionFactory creation failed.org.hibernate.MappingException: invalid configuration
Exception in thread "main" java.lang.ExceptionInInitializerError
	at test.HibernateUtil.buildSessionFactory(HibernateUtil.java:19)
	at test.HibernateUtil.<clinit>(HibernateUtil.java:9)
	at hibernate.EventManager.main(EventManager.java:15)
Caused by: org.hibernate.MappingException: invalid configuration
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2211)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:2128)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:2107)
	at test.HibernateUtil.buildSessionFactory(HibernateUtil.java:14)
	... 2 more
Caused by: org.xml.sax.SAXParseException: Document is invalid: no grammar found.
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.dom4j.io.SAXReader.read(SAXReader.java:465)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2208)
	... 5 more
Cela fait 4jours que je cogite sur la même erreur.
Merci de votre aide ...