0
点赞
收藏
分享

微信扫一扫

Java三大框架SSH之Hibernate_001_03:Transaction事务对象


系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​前言​​
  • ​​一、Transaction事务对象​​
  • ​​总结​​

前言

掌握Hibernate中怎么获取事务,开启、提交、回滚事务

一、Transaction事务对象

Java三大框架SSH之Hibernate_001_03:Transaction事务对象_回滚


回滚事务

Java三大框架SSH之Hibernate_001_03:Transaction事务对象_回滚_02


大概是这样的架构

try{
//开启
//session操作
//提交
} catch(e){
//回滚
}

扩展:不需要手动的管理事务,之后所有的事务管理都交予spring。

事务也可以在hibernate.cfg.xml配置文件中设置

<!--  是否自动提交事务 -->
<property name="hibernate.connection.autocommit">true</property>

Java三大框架SSH之Hibernate_001_03:Transaction事务对象_回滚_03


Java三大框架SSH之Hibernate_001_03:Transaction事务对象_hibernate_04


如果配置文件里面关闭事务,test方法里面也关闭事务,就会只执行sql,(不会报错)但是不会提交事务,不会执行sql,所以不会插入到数据库

Java三大框架SSH之Hibernate_001_03:Transaction事务对象_回滚_05


解决办法:

Java三大框架SSH之Hibernate_001_03:Transaction事务对象_提交事务_06

总结

1、不需要手动的管理事务,之后所有的事务管理都交予spring。
2、我们要注意hibernate里面的事务,要么在hibernate.cfg.xml配置文件中开启自动提交事务,要么在调用插入对象的时候(本例是执行test方法)的时候,手动开启和提交事务,回滚视情况而定,并且回滚要写在catch里面


举报

相关推荐

0 条评论