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 :
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.
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(); }
J'ai créer mon HibernateUtil à partir des tuto trouvé sur le net :
Et voici l'extrait de l'erreur :
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(); } } }
Je travail sur eclipse, je lance l'appli avec un serveur Tomcat.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)
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
Partager