我替换了:
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()等?我不想使用交易...所以,我应该改变什么?
答案 0 :(得分:0)
您使用的是getCurrentSession
,而不是currentTransaction
。在Hibernate中,事务不是可选的 - 你必须启动一个事务。
您设置的配置会自动为您打开会话,但不会在会话中为您打开。
答案 1 :(得分:0)
您可以通过Spring集成跳过开始和提交事务,并将您的事务声明为驱动注释