系列文章目录
前言
掌握Hibernate中怎么获取事务,开启、提交、回滚事务
一、Transaction事务对象
回滚事务
大概是这样的架构
try{
//开启
//session操作
//提交
} catch(e){
//回滚
}
扩展:不需要手动的管理事务,之后所有的事务管理都交予spring。
事务也可以在hibernate.cfg.xml配置文件中设置
<!-- 是否自动提交事务 -->
<property name="hibernate.connection.autocommit">true</property>
如果配置文件里面关闭事务,test方法里面也关闭事务,就会只执行sql,(不会报错)但是不会提交事务,不会执行sql,所以不会插入到数据库
解决办法:
总结
1、不需要手动的管理事务,之后所有的事务管理都交予spring。
2、我们要注意hibernate里面的事务,要么在hibernate.cfg.xml配置文件中开启自动提交事务,要么在调用插入对象的时候(本例是执行test方法)的时候,手动开启和提交事务,回滚视情况而定,并且回滚要写在catch里面