栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Hibernate的Session.close()是否自动回滚未提交的事务?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hibernate的Session.close()是否自动回滚未提交的事务?

我已经对Hibernate做了一些研究:

持久性会话使它们的生命周期在某种程度上与JDBC连接无关。当您关闭Hibernate时

Session
,连接被 释放“释放连接”的
确切含义取决于首先获得连接的方式:

  • 如果连接是手动提供的(例如通过
    sessionFactory.openStatelessSession(connection)
    ),则在致电时您可能会返回未完成的交易的连接
    session.close()
  • 在其他情况下,通话
    session.close()
    通常会以通话结束
    connection.close()

Hibernate不会自动进行会话刷新或事务提交/回滚。JPA的状态相同

EntityManager

因此,最终会发生什么情况取决于您的连接提供者/数据源。使用C3PO,将连接返回到池时,任何未完成的事务都会回滚。另一方面,如果您已经管理了JTA连接,则实际的事务处理可能完全超出了应用程序的范围。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436026.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号