多线程环境中的Hibernate.getCurrentSession()

时间:2017-11-27 08:02:07

标签: java spring multithreading swing hibernate

我需要了解使用 Hibernate.getCurrentSession()的最佳情况?

我的理解是它在WebApplication(Spring MVC)等多线程环境中是有害的,因为处理Hibernate.getCurrentSession()事务的Thread将被( Shared )多个请求使用(Threads) )在任何人提交该交易之前,在Web应用程序中。

     Req1 ->
     Req2 ->    WebApp(Spring MVC) |  <-- (Hibernate Current Session Thread)
     Req3 ->

使用Hibernate.getCurrentSession()的最佳情况是我们称之为单线程应用程序的独立应用程序(Swing / Desktop)。在这种情况下,单个线程正在运行,因此不存在共享事务的问题。

     Event/Action ->    Desktop(Swing) |  <-- (Hibernate Current Session Thread)

如果由于我对getCurrentSession()方法的接触有限而我理解错了,有人可以纠正我吗?

分享他人的经验对我来说是有价值的。

这不是重复问题

0 个答案:

没有答案