我一直得到:
HibernateException:没有 CurrentSessionContext已配置好!
在我的代码中。返回的其他搜索的唯一信息是罪魁祸首:
<property name="current_session_context_class">thread</property>
在我的hibernate.cfg.xml中。我在我的hibernate.cfg.xml文件中有这个,我在Tomcat 6中运行它。有没有人知道其他可能的原因?
答案 0 :(得分:25)
我相信你需要将你的current_session_context_class设置为一个实际的类......我的hibernate.cfg.xml配置如下:
<property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>
以上代码用于mySql数据库,但我认为数据库对于上述属性的类型不重要
希望这有帮助
答案 1 :(得分:11)
这两个都在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(如其他答案所示)。
答案 2 :(得分:3)
在Hibernate 4.1.5中它是:
<property> name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
答案 3 :(得分:2)
我在tomcat 7上使用Hibernate 4,而下面的属性(问题中提到的属性)对我有效。
<property name="current_session_context_class">thread</property>
答案 4 :(得分:0)
var config = new Configuration().Configure(); // Read config from hibernate.cfg.xml
config.CurrentSessionContext<WebSessionContext>(); // <-- No CurrentSessionContext fixing
return config.BuildSessionFactory();