Spring如何管理休眠会话生命周期
发布时间:2020-12-15 01:21:16 所属栏目:大数据 来源:网络整理
导读:Spring用于我们团队的Java EE项目,而hibernate用于基础ORM. transactionManager的设置如下: bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"property name="sessionFactory" ref="sessionFactory" /
Spring用于我们团队的Java EE项目,而hibernate用于基础ORM. transactionManager的设置如下:
sessionFactory的设置如下:
我的问题是考虑了整个设置,我没有看到休眠会话生命周期的任何属性设置.在休眠参考中,引入了上下文会话,并说有CurrentSessionContext的三种实现. > JTA 2.Thread 3.托管 我怎么知道使用了哪种实现?也许在Spring之前,但我不知道. 最佳答案
Spring使用给定的dataSource创建SessionFactory,并从连接池中获取其数据库连接.我们通过SessionFactory.getCurrentSession()获得一个Hibernate会话.然后开始事务,执行工作,然后执行commit()或rollback(),最后关闭连接(连接对象将返回到池中).当我们停止应用程序或关闭服务器时,Hibernate会话工厂将被破坏/关闭.并且默认情况下,如果使用HibernateTransactionManager,将使用CurrentSessionContext的Thread实现.如果要使用jta实现,则必须使用“ JtaTransactionManager”作为事务管理器.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |