Bonjour à tous ,

Je suis un étudiant en informatique et j'ai une question à propos de développement web Java EE ...
J'ouvre une session Hibernate avec le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Session s = HibernateUtil.currentSession();
HibernateUtil est une classe Java que j'ai fait pour l'ouverture et la fermeture de la session Hibernate.
La méthode CurrentSession du Hibernate Util le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public static Session currentSession() throws HibernateException {
 
		Session s = (Session) threadLocal.get();
		// Ouvre une nouvelle Session, si ce Thread n'en a aucune
		if (s == null) {
			s = sessionFactory.openSession();
			threadLocal.set(s);
			}
			return s;
	}
Si je ferme la session par HibernateUtil.closeSession() tous passe bien
NB: le code de la méthode closeSession :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public static void closeSession() throws HibernateException {
		Session s = (Session) threadLocal.get();
		threadLocal.set(null);
		if (s != null)
		s.close();
	}
Mais quand je ferme la session par s.close(); il y a des problèmes au niveau d'authentification.... Le problème se présente alors que je peux authentifier une seule fois. Si je déconnecte et je reconnecte , je ne peux pas !

Pouvez vous expliquer la différence entre les deux fermeture de la session Hibernate que je suis sûr ce sont les causes du problème ?