Hibernate:没有配置CurrentSessionContext

时间:2009-04-17 17:47:07

标签: hibernate liferay

我一直得到:

  

HibernateException:没有   CurrentSessionContext已配置好!

在我的代码中。返回的其他搜索的唯一信息是罪魁祸首:

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

在我的hibernate.cfg.xml中。我在我的hibernate.cfg.xml文件中有这个,我在Tomcat 6中运行它。有没有人知道其他可能的原因?

5 个答案:

答案 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();