Hibernate的编程细节——事务回滚
来源:互联网 发布:阿里云备案拍照怎么拍 编辑:程序博客网 时间:2024/04/30 14:21
一 事务回滚代码
private static void updateEmp() { //修改用户 //获取一个会话 /* Session session=MySessionFactory.getSessionFactory().openSession(); Transaction transaction=session.beginTransaction(); //修改用户 //1、获取要修改的用户 //load是通过主键属性,获取对象实例<-------->表的记录对应 Employee employee =(Employee)session.load(Employee.class, 1);//select语句 //2、修改 employee.setName("xiaoming");//update employee.setEmail("abc@22.com"); int i=9/0; transaction.commit(); session.close(); */ //优化上面的代码,如何在Hibernate中回滚事务 Session session=MySessionFactory.getSessionFactory().openSession(); Transaction transaction=null; try{ transaction=session.beginTransaction(); Employee employee =(Employee)session.load(Employee.class, 1);//select语句 employee.setName("xiaoming");//update employee.setEmail("abc@22.com"); int i=9/0; //构造异常 transaction.commit(); } catch(Exception e){ if(transaction!=null){ transaction.rollback(); } throw new RuntimeException(e.getMessage()); }finally{ if(session!=null&&session.isOpen()){ session.close(); } }
二 测试结果
Exception in thread "main"java.lang.RuntimeException
at com.cakin.view.TestMain.updateEmp(TestMain.java:66)
at com.cakin.view.TestMain.main(TestMain.java:20)
阅读全文
0 0
- Hibernate的编程细节——事务回滚
- Hibernate事务回滚代码
- Hibernate事务回滚问题
- 数据库——事务回滚
- Connection. rollback方法—事务回滚
- hibernate的回滚
- 嵌套事务的回滚
- 关于事务的回滚
- spring事务的回滚
- 事务回滚的使用
- sqlite的事务回滚
- TP的事务回滚
- Spring的事务回滚
- 嵌套事务的回滚
- MySQL事务的回滚
- 事务: spring+hibernate实现事务回滚及其他
- Grails 回滚编程性事务
- C#数据库编程---事务回滚
- 为啥你的编译型程序和人家解释型一程序样慢?(一) ——写在前面的话——性能分析点。
- Xcode9学习笔记60
- Xcode9学习笔记61
- 001 概率基础 第一章事件与概率
- 面向对象特征——继承及重写
- Hibernate的编程细节——事务回滚
- Bailian3718 位操作练习【位运算】
- Hibernate核心类和接口
- wxPython_下载和安装
- Y
- CentOs7 安装 nodejs
- 15418 HW1 学习心得
- Ubuntu完全教程,让你成为Ubuntu高手!
- 《七点三刻》有价值的新闻早餐 2017年11月18日星期六,第009期