Hibernate和currentSession:“哎呀,我不想要这些交易!”

时间:2014-01-17 12:12:57

标签: java hibernate

我替换了:

sessionFactory.openSession();

使用:

sessionFactory.getCurrentSession();

我为Hibernate添加了这个配置:

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

现在我收到了这个错误:

failureorg.hibernate.HibernateException: createQuery is not valid without active transaction

在使用currentTransaction之后,为什么要使用beginTransaction()等?我不想使用交易...所以,我应该改变什么?

2 个答案:

答案 0 :(得分:0)

您使用的是getCurrentSession,而不是currentTransaction。在Hibernate中,事务不是可选的 - 你必须启动一个事务。

您设置的配置会自动为您打开会话,但不会在会话中为您打开。

答案 1 :(得分:0)

您可以通过Spring集成跳过开始和提交事务,并将您的事务声明为驱动注释