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 : 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
 
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 : 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
 
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 :

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