Hibernate事务的示例分析

技术Hibernate事务的示例分析小编给大家分享一下Hibernate事务的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hiber

边肖将和大家分享一个Hibernate事务的分析示例。相信大部分人都不太了解,所以分享这篇文章给大家参考。希望你看完这篇文章能有很多收获。我们一起来看看吧!

Hibernate是JDBC的轻量级包,不具备事务管理的能力。在事务管理层,Hibernate将其委托给底层的JDBC或JTA,实现事务管理和调度功能。

Hibernate事务处理机制基于JDBC事务。我们还可以通过配置文件设置使用JTA作为事务管理实现:

hibernate-configuration session-factory……. property name=' hibernate . transaction . factory _ class ' net . SF . hibernate . transaction . jtatransactionfactory!-net . SF . Hibernate . transaction . jdbctransactionfactory-/property./session-factory/hibernate-configuration基于JDBC的事务管理将事务管理委托给JDBC处理无疑是最简单的方式,hibernate事务对JDBC事务的封装也极其简单。

让我们看看下面的代码:

session=SessionFactory . OpenSession();transactiontx=session . BeginIntrasaction();……tx.commit();从JDBC级别来看,上述代码实际上对应于:

connectiondbconn=GetConnection();dbconn . setautocommit(false);……dbconn.commit();就这么简单。Hibernate没有做更多的事情(事实上,它不能做更多的事情),只是封装了这样的JDBC代码。

这里需要注意的是,在sessionFactory.openSession()中,hibernate将初始化数据库连接,同时将其AutoCommit设置为off (false)。然后,在Session.beginTransaction方法中,Hibernate将再次确认Connection的AutoCommit属性设置为off状态(以防止用户代码修改Connection。会话的自动提交属性)。

也就是说,我们一开始从SessionFactory获取的会话的自动提交属性已经关闭(AutoCommit=false),下面的代码对数据库没有影响:

session=SessionFactory . OpenSession();session.save(用户);session . close();实际上,这相当于将JDBC连接的自动提交属性设置为false。执行几个JDBC操作后,连接会关闭,而不调用提交操作。如果代码真的在数据库上工作,我们必须显式调用Transaction指令:

session=SessionFactory . OpenSession();transactiontx=session . BeginIntrasaction();session.save(用户);tx.commit();session . close();以上就是文章“Hibernate事务的实例分析”的全部内容。感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/136810.html

(0)

相关推荐

  • 如何修改交易代码SE16中的结果集

    技术怎么实现事务码SE16里的结果集修改怎么实现事务码SE16里的结果集修改,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。注: 这种方法不同

    攻略 2021年12月18日
  • 通州运河公园,通州有特色的文化旅游地有什么

    技术通州运河公园,通州有特色的文化旅游地有什么通州的特色文化旅游这几个景点可以参考:1.历史名桥:八里桥又名永通桥通州运河公园。建于明正统十一年(一四四六年),南北走向,长三十米,宽十六米,桥两侧有三十三块护栏雕饰、三十

    生活 2021年10月30日
  • 如何使用字形2进行马字体设计编辑软件

    技术Glyphs 2 for Ma字体设计编辑软件怎么用Glyphs 2 for Ma字体设计编辑软件怎么用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法

    攻略 2021年12月20日
  • 貔貅的摆放,家里的一对貔貅怎么摆图片

    技术貔貅的摆放,家里的一对貔貅怎么摆图片摆放貔貅是有一定的方法和讲究的貔貅的摆放,正确的摆放能够让貔貅更好的来招财和辟邪镇宅。 貔貅是传说中的神兽,从古至今都被很多人所喜欢和追崇。貔貅嘴大无肛,形象威风霸气,专门的吞食金

    生活 2021年10月26日
  • 怎么解决数据库ORA-12519 TNS问题

    技术怎么解决数据库ORA-12519 TNS问题这篇文章主要讲解了“怎么解决数据库ORA-12519 TNS问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决数据

    攻略 2021年11月11日
  • 长发发型扎法100种图片,有什么好看的编发值得推荐么

    技术长发发型扎法100种图片,有什么好看的编发值得推荐么临时被邀请参加聚会,再去做美发是肯定来不及了,又不想顶着乱糟糟的头发参加聚会,该怎么办呢?今天我就教大家一款能够简易俗称的盘发,优雅又自然,不会显得太过隆重,简单搭

    生活 2021年10月31日