web-dev-qa-db-fra.com

Hibernate: Pas de CurrentSessionContext configuré

Je continue à recevoir un:

HibernateException: Non CurrentSessionContext configuré!

dans mon code. La seule information que d'autres recherches ont renvoyée est que le coupable est:

<property name="current_session_context_class">thread</property>

dans mon hibernate.cfg.xml. Je l'ai dans mon fichier hibernate.cfg.xml, et je l'exécute dans Tomcat 6. Est-ce que quelqu'un connaît d'autres causes possibles?

25
jconlin

Je crois que vous devez définir votre classe current_session_context_class sur une classe réelle ... Mon fichier hibernate.cfg.xml est configuré pour cela comme suit:

<property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>

Le code ci-dessus est utilisé pour une base de données mySql mais je ne pense pas que le type de la base de données pour la propriété ci-dessus soit important

J'espère que cela t'aides

25
Ian Dallas

Les deux fonctionnent dans Hibernate 4+:

<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>

Dans les versions antérieures d'Hibernate, il utilisait org.hibernate.context.ThreadLocalSessionContext (comme indiqué dans les autres réponses).

11
Jacob Mouka

Dans Hibernate 4.1.5 c'est: 

<property> name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
3
Jatin

J'utilise Hibernate 4 sur Tomcat 7 et la propriété ci-dessous (celle mentionnée dans la question) a fonctionné pour moi.

<property name="current_session_context_class">thread</property>
2
Rejeev Divakaran
var config = new Configuration().Configure(); // Read config from hibernate.cfg.xml
config.CurrentSessionContext<WebSessionContext>(); // <-- No CurrentSessionContext fixing
return config.BuildSessionFactory();
0
ADM-IT