HibernateUtil : NoClassDefFoundError org/hibernate/Session
Bonjour
Je suis en train de m'entrainé sur des application n tiers, et actuellement, j'ai un soucis avec la couche de persistance.
Celle-ci tapait directement sur la base MySQL, mais pour faire des tests, je l'a change pour passer par hibernate.
Dans mon PersistenceDAOHibernate.java j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
public class PersistenceDAOHibernate implements PersistenceDAO {
private Session session;
private Transaction transaction;
/**
*
*/
public PersistenceDAOHibernate() {
connectDb();
}
public final void connectDb() {
session = HibernateUtil.currentSession();
transaction = session.beginTransaction();
} |
Or j'ai un NoClassDefFoundError sur la ligne session = HibernateUtil.currentSession(); dans PersistenceDAOHibernate, j'ai l'impression que la classe HibernateUtil ne se construit pas.
J'ai créer mon HibernateUtil à partir des tuto trouvé sur le net :
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 32 33 34 35 36
|
public class HibernateUtil {
public static final SessionFactory SESSIONFACTORY;
static {
try {
// Crée la SessionFactory
SESSIONFACTORY = new Configuration().configure().buildSessionFactory();
} catch (HibernateException ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new RuntimeException("Problème de configuration : " + ex.getMessage(), ex);
}
}
public static final ThreadLocal<Session> SESSION = new ThreadLocal<Session>();
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();
}
}
} |
Et voici l'extrait de l'erreur :
Citation:
creation de la percistance hibernate
18 juin 2008 12:24:27 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet action a généré une exception
java.lang.NoClassDefFoundError: org/hibernate/Session
at com.maBoite.welcome.persistence.dao.PersistenceDAOHibernate.connectDb(PersistenceDAOHibernate.java:79)
at com.maBoite.welcome.persistence.dao.PersistenceDAOHibernate.<init>(PersistenceDAOHibernate.java:32)
Je travail sur eclipse, je lance l'appli avec un serveur Tomcat.
J'ai importé hibernate.jar (la version 3.0).
Je debute dans le API complexe java (J2ee, Strut, Hibernate, etc.) mais faut que je me forme pour le boulot.
merci de votre aide.
Blaise