我不断收到:
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();