[Hibernate] probleme de SessionFactory
J'essaie d'ecrire une classe qui me renvoie un SessionFactory; je lis pour cela la doc d'hibernate et surtout le premier chapitre.
ma classe HibernateUtil qui me renvoie un SessionFactory :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public class HibernateUtil {
public static final SessionFactory sessionFactory;
static {
try {
// Création de la SessionFactory à partir de hibernate.cfg.xml
sessionFactory = 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.\n" + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
} |
ca compile bien mais à l'execution, j'ai cette erreur :
Code:
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
|
run:
[java] Initial SessionFactory creation failed.
[java] java.lang.ExceptionInInitializerError
[java] Exception in thread "main" java.lang.ExceptionInInitializerError
[java] at util.HibernateUtil.<clinit>(Unknown Source)
[java] at col.CollaborateurManager.createAndStoreEvent(Unknown Source)
[java] at col.CollaborateurManager.main(Unknown Source)
[java] Caused by: java.lang.ExceptionInInitializerError
[java] ... 3 more
[java] Caused by: org.apache.commons.logging.LogConfigurationException: org
.apache.commons.logging.LogConfigurationException: No suitable Log constructor [
Ljava.lang.Class;@530daa for org.apache.commons.logging.impl.Log4JLogger (Caused
by java.lang.NoClassDefFoundError: org/apache/log4j/Category) (Caused by org.ap
ache.commons.logging.LogConfigurationException: No suitable Log constructor [Lja
va.lang.Class;@530daa for org.apache.commons.logging.impl.Log4JLogger (Caused by
java.lang.NoClassDefFoundError: org/apache/log4j/Category))
[java] at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(Lo
gFactoryImpl.java:543)
[java] at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(Lo
gFactoryImpl.java:235)
[java] at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(Lo
gFactoryImpl.java:209)
[java] at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:
351)
[java] at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:1
16) |
je ne comprends pas trop ce que vient faire commons.logging la dedans (je sais meme pas à quoi ca sert exactement).
Je debute avec Hibernate, c'est mon premier mapping donc je pense que c'est une erreur débutant que sans doute d'autres ont rencontrés.
Si vous l'avez rencontré... ou meme apercu... n'hesites pas à me donner votre temoignage :lol: