Problème avec une session
Hello,
Je n'arrive pas à utiliser mon fichier HibernateUtil que voici:
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 28 29 30 31
| public class HibernateUtil {
private static final SessionFactory sessionFactory;
private static final Configuration cfg = new Configuration();
public static final ThreadLocal session = new ThreadLocal();
static {
try {
AnnotationConfiguration annCfg = new AnnotationConfiguration();
sessionFactory = annCfg.configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static Session currentSession() {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
public static void closeSession() {
Session s = (Session) session.get();
if (s != null)
s.close();
session.set(null);
}
} |
Si je fais :
Code:
Session session = HibernateUtil.currentSession();
Il me met l'erreur suivante:
Citation:
Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: javax/persistence/EmbeddableSuperclass
Exception in thread "Thread-2" java.lang.ExceptionInInitializerError
at ch.iict.iscia.eascia.persistance.HibernateUtil.<clinit>(HibernateUtil.java:67)
at ch.iict.iscia.eascia.recup.FileSystemAccount.run(FileSystemAccount.java:89)
Caused by: java.lang.NoClassDefFoundError: javax/persistence/EmbeddableSuperclass
at org.hibernate.cfg.AnnotationConfiguration.addEmbeddedSuperclasses(AnnotationConfiguration.java:253)
at org.hibernate.cfg.AnnotationConfiguration.addImplicitEmbeddedSuperClasses(AnnotationConfiguration.java:243)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:183)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1138)
at ch.iict.iscia.eascia.persistance.HibernateUtil.<clinit>(HibernateUtil.java:59)
... 1 more
Caused by: java.lang.ClassNotFoundException: javax.persistence.EmbeddableSuperclass
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 6 more
Je ne vois pas ce qui est faux... Une idée?
Merci d'avance!
A+