Bonjour,
Je m'essaye avec Hibernate Annotations et j'ai un problème que je n'arrives pas à résoudre ...
J'ai dans mon répértoire src un package avec deux entités annotées. J'ai crée, dans le même dossier src le fichier hibernate.cfg.xml suivant :
Code xml : 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 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.HSQLDialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> <mapping package="entities"/> <mapping class="entities.Personne" /> <mapping class="entities.Passeport" /> </session-factory> </hibernate-configuration>
Finalement, j'ai fait un petit util qui me donne une SessionFactory, je ne doutes pas de cette classe car je l'ai eu du site de Hibernate.
Lorsque j'essaye d'exploiter tout ça (enregistrer quelque chose en base de données) j'obtiens l'erreur suivante :
Le dialect est bien initialisé dans le fichier de config et j'ai mis dans le classPath le driver de mon sgbd (hsqldb). Quelqu'un pourrait il me sortir de ce pétrin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Exception in thread "main" java.lang.ExceptionInInitializerError at util.HibernateUtil.<clinit>(HibernateUtil.java:17) at metier.PersonneManager.storeAndLoadPersonne(PersonneManager.java:17) at metier.PersonneManager.main(PersonneManager.java:12) Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57) at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39) at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) at util.HibernateUtil.<clinit>(HibernateUtil.java:14) ... 2 more
Partager