Java hibernate JTASessionContext与ThreadLocalSessionContext
Java hibernate JTASessionContext与ThreadLocalSessionContext,java,hibernate,Java,Hibernate,org.hibernate.context.JTASessionContext和org.hibernate.context.ThreadLocalSessionContex之间有什么区别?这些策略通过定义当前会话的范围来控制SessionFactory.getCurrentSession()的行为 JTASessionContext将当前会话与当前JTA事务关联,并在JTA事务结束时将其关闭。此策略用于支持JTA的环境,即应用服务器 ThreadLocalSessionContext将当前会话
org.hibernate.context.JTASessionContext
和org.hibernate.context.ThreadLocalSessionContex
之间有什么区别?这些策略通过定义当前会话的范围来控制SessionFactory.getCurrentSession()
的行为
将当前会话与当前JTA事务关联,并在JTA事务结束时将其关闭。此策略用于支持JTA的环境,即应用服务器JTASessionContext
将当前会话与当前线程关联,并在该会话中创建的事务结束时将其关闭。它用于独立环境ThreadLocalSessionContext
ThreadLocalSessionContext
,当前会话(sessionFactory.getCurrentSession()
)被创建并存储在ThreadLocal
中。这适用于任何环境,因为ThreadLocal
是JavaSE
JTASessionContext将当前会话绑定到JTA事务。JTA事务提供了一个用于清理的钩子,与本地线程不同。这在具有JTA的环境中可用,例如应用程序服务器
这一切都在这两个类的javadocs中进行了解释。
和任何描述该用法的示例??