使用 Spring 和 Hibernate 进行事务管理

发布于 2025-01-03 00:45:51 字数 816 浏览 1 评论 0原文

我们的系统的一部分是基于 Spring 的,而一部分系统是非基于 Spring 的。现在我们弃用所有使用 hibernate 模板对 session.getCurrentSession 的调用。此外,我们在 Spring 和非基于 Spring 的系统中使用相同的会话工厂。为了将 Hibernate 事务管理绑定到单线程,我们必须添加以下属性。

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

但是 Spring 不喜欢它,并且为了 Spring 正常工作,建议删除上面的属性。它给出了一个例外,即它们没有活跃的交易。 检查此项

如果我们删除它,那么非基于 Spring 的系统抱怨我们无法使用 getCurrentSession,因为我们尚未配置 current_session_context_class 属性。

现在我们正在使用 Spring 制作会话工厂,如下所示:

  <bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   ...
  </bean>

对此有任何想法或想法。 提前致谢。

We have part of the system in Spring and part of the system is non Spring based. Now we are deprecating all the calls using hibernate template to session.getCurrentSession. Also we are using the same session factory in both Spring and non Spring based system. For the Hibernate transaction management to be bound to single thread, we have to put the following property

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

However Spring does not likes it and for the Spring to work properly, it recommends removing he above property. It gives the exception that their is no active transaction. Check this

If we remove it, then non Spring based system complains that we cannot use getCurrentSession as we have not configured the current_session_context_class property.

Right now we are making session factory using Spring as follows:

  <bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   ...
  </bean>

Any idea or thought around this.
Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文