私は得続けます:
HibernateException:CurrentSessionContextが設定されていません!
私のコードで。返された他の検索の唯一の情報は、犯人が次のとおりであることです。
<property name="current_session_context_class">thread</property>
私のhibernate.cfg.xml内。 hibernate.cfg.xmlファイルにそれがあり、Tomcat 6でこれを実行しています。他の考えられる原因を誰かが知っていますか?
Current_session_context_classを実際のクラスに設定する必要があると思います... hibernate.cfg.xmlを次のように構成しています:
<property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>
上記のコードはmySqlデータベースに使用されていますが、データベースが上記のプロパティにどのタイプであるかは重要ではないと思います
お役に立てれば
これらは両方ともHibernate 4+で機能します。
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
以前のバージョンのHibernateでは、(他の回答に示されているように)org.hibernate.context.ThreadLocalSessionContextを使用していました。
Hibernate 4.1.5では次のとおりです。
<property> name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
私はTomcat 7でHibernate 4を使用しており、以下のプロパティ(質問で言及されたもの)が機能しました。
<property name="current_session_context_class">thread</property>
var config = new Configuration().Configure(); // Read config from hibernate.cfg.xml
config.CurrentSessionContext<WebSessionContext>(); // <-- No CurrentSessionContext fixing
return config.BuildSessionFactory();