HibernateUtil

fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012 - 9 mai 2012 à 18:50
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012 - 17 mai 2012 à 10:58
salut;svp quelqu'un me donne une solution je fais un teste d'accée au donnée à la base avec hibernate et j'ai l'erreur suivant:
Exception in thread "main" java.lang.NullPointerException
at persistance.HibernateUtil.getSession(HibernateUtil.java:32)
at persistance.DepartmentHibernateDao.getAllDepartments(DepartmentHibernateDao.java:16)
at persistance.DepartmentHibernateDao.main(DepartmentHibernateDao.java:36)

ma classe hibernateUtil:

package persistance;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.apache.commons.logging.*;
import org.hibernate.*;
import org.hibernate.Session;

public class HibernateUtil {

private static SessionFactory sessionFactory;
public static final ThreadLocal session = new ThreadLocal();

public static void createSessionFactory() {
sessionFactory = new Configuration().configure().buildSessionFactory();
}
public SessionFactory getSessionFactory() {
return this.sessionFactory;
}

/**
* @param laSessionFactory setter de liaison Spring
*/
public void setSessionFactory(SessionFactory laSessionFactory) {
this.sessionFactory = laSessionFactory;
}

public static Session getSession() throws HibernateException {

Session s = (Session) session.get();
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();

}

}

11 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 mai 2012 à 08:29
Salut,

A quel niveau est levée l'exception ?

Je crains que le problème vienne de sessionFactory qui est null quand tu l'utilises mais je n'en suis pas certain.

Comment appelles tu le code de cette classe ?
0
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
10 mai 2012 à 16:10
Merci bien pour ta réponse,
mais je n'ai pas bien saisie ce que vous voulez dire? un peu d'explication peut régler le problème.

Comment peut-on savoir qu'une sessionFactory est initialisée à null??
Merci
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 mai 2012 à 08:19
Salut,

Elle n'est pas initialisée à null, juste avant la ligne qui lève l'exception fait un System.out.println(sessionFactory) et tu verras bien.

Tu n'as répondu à aucune de mes deux questions...
0
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
11 mai 2012 à 18:53
merci bien j'ai resolue le prb au niveau du fichier hibernate.cfg.xml
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
11 mai 2012 à 18:57
mais j'ai un autre erreur l'hors d'ajout un utilisateur a la base j'ai utilise jsf voila l'erreur
Caused by: java.lang.NoClassDefFoundError: DAO_Implementation/HibernateUtil
at DAO_implementation.UserHibernateDAO.getByLogin(UserHibernateDAO.java:113)
at Service_Implementation.UserHibernateService.getByLogin(UserHibernateService.java:57)
at Beans.UserBean.inserer(UserBean.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:779)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:528)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:257)
at com.sun.el.parser.AstValue.invoke(AstValue.java:248)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
merci une autre fois pour votre aide
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
12 mai 2012 à 08:21
Tu utilises quel ide ? Tu as bien ajouté primefaces dans ton classpath ? et les lib jsf ? et hibernate ?
0
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
12 mai 2012 à 13:52
je travail sur netbeans; quelle classpath?oui j'ai ajoute toutes les lib necessaire pour jsf et hibernate.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
14 mai 2012 à 09:16
Si tu ne sais pas ce que c'est le classpath, je ne sais pas comment tu peux être aussi certain d'avoir les bonnes librairies à l'intérieur...
0
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
16 mai 2012 à 11:56
merci pour votre reponses l'erreur est resolue; mais l'hors de l'ajout un user par exemple s'affiche dans la base mais sur la listeuser non
;je fait update mais ca marche pas; il ne s'affiche que j' execute une autre fois mesrci pour votre aide.
0
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
16 mai 2012 à 12:02
voila la ligne de code:


form2 conteint la liste des utilisateurs.
0
fatiamin Messages postés 14 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 22 mai 2012
17 mai 2012 à 10:58
si j'inverse l'ordre d action="" et update="" ile safiche sur les prmiers champs existant dans datatable.
si vous avez une idée aidez moi
0
Rejoignez-nous