什么是hibernate中的上下文会话


  1. 什么是Hibernate中的上下文会话
  2. 当我在两个会话之间创建和关闭会话时,是否使用上下文会话实现接口

将Hibernate的Contextual Session视为当前会话到用户上下文的映射。

例如:单个事务可以是这样的上下文,因此,如果Hibernate会话的生命周期与该事务的生命周期相匹配,则会话可以被称为上下文,其中单个事务定义了这样的context。有时,这种特殊情况被标记为session-per-request模型。

Hibernate接口CurrentSessionContext用于将当前会话(例如SessionFactory.getCurrentSession()(映射到不同的上下文。该接口有3个实现:

  • JTASessionContext:当前会话由JTA事务跟踪和确定范围。这里的处理与旧的仅JTA方法完全相同。有关详细信息,请参阅Javadocs。

  • ThreadLocalSessionContext:当前会话由执行线程跟踪。有关详细信息,请参阅Javadocs。

  • ManagedSessionContext:当前会话由执行线程跟踪。但是,您负责使用此类上的静态方法绑定和解除绑定会话实例:它不会打开、刷新或关闭会话

查看Hibernate文档中的ArchitectureCurrentSession部分,了解更多"官方"细节。

解释Hibernate上下文会话概念的另一个非常好的链接

http://relation.to/2037.lace

最新更新