它取决于spring的版本,但是通常必须避免在使用Spring时弄乱该属性(除非您将JTA用于事务处理,然后才需要配置它)。
从Hibernate
3.1开始,有一种称为上下文会话的东西,并且该Hibernate提供了
CurrentSessionContext接口。有几种实现方式(并且
thread是的缩写
ThreadLocalSessionContext)。Spring对此类的接口有自己的实现
SpringSessionContext。
默认情况下,Spring将该属性设置为的Springs实现
CurrentSessionContext,当将此属性设置为其他值(JTA除外)时,这将破坏springs管理hibernate会话(从而管理事务)的能力。
现在,在较旧版本的spring(我还假设您还升级了Spring使其可以使用hibernate)与hibernate
3结合使用时,在获取会话方面还涉及到其他技巧(由于与旧版3.x版本的hibernate向下兼容)。这使得Spring较少依赖该属性的值。(Spring为代理创建了一个代理,
SessionFactory并从根本上拦截了
getSession能够管理会话的方法)。



