org.hibernate.context.JTASessionContextorg.hibernate.context.ThreadLocalSessionContex有什么区别?

最佳答案

使用ThreadLocalSessionContext创建当前会话(sessionFactory.getCurrentSession())并将其存储在ThreadLocal中。这在任何环境中都可以使用,因为ThreadLocal是JavaSE。

JTASessionContext将当前会话绑定到JTA事务。与线程本地线程不同,JTA事务为清理提供了一个钩子。在具有JTA的环境(例如应用程序服务器)中可用。

这两个类的javadocs中对此进行了解释。
herehere

08-04 19:43