Transaction接口是对事物实现的一个抽象,这些实现包括JDBC事务等。Hibernate框架中的事物通过hibernate.cfg.xml文件选择JDBC。在transaction接口中定义了cimmit()和rollback()两个方法,前者是提交事务的方法,后者是回滚事务的方法。

调用Session的beginTransaction() 方法生成一个Transaction实例。

Transaction ts=session.beginTransaction();

一个Session实例可以与多个Transaction实例相关联,但一个特定的Session实例在任何时候必须与至少一个未提交的Transaction实例相关联。


try{SessionFactory sf=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();Session session=sf.openSession();Transaction ts=session.beginTransaction();Query query=session.createQuery("from UserInfoPO u where u.age>?");query.setInteger(0, 20);List<UserInfoPO> list=query.list();for(int i=0;i<list.size();i++){UserInfoPO ui=(UserInfoPO)list.get(i);System.out.println(ui.getUsername());}ts.commit();session.close();}catch(HibernateException e){e.printStackTrace();}

hibernate的Transaction接口理解相关推荐

  1. 【大话Hibernate】Hibernate的核心接口和类

    Hibernate的核心类和接口一共有6个,分别为:Session.SessionFactory. Transaction.Query.Criteria和Configuration.这6个核心和类接口 ...

  2. Spring ORM示例 - JPA,Hibernate,Transaction

    Spring ORM示例 - JPA,Hibernate,Transaction 欢迎来到Spring ORM示例教程.今天我们将使用Hibernate JPA事务管理来研究Spring ORM示例. ...

  3. Hibernate:不容易理解的 lock 和 merge

    背景 lock 和 merge 在字面上很容易理解它们的语义,不过它们的实际行为所代表的语义范围要大一点,本文就简单的记录下来,还请朋友们多批评和指正. Lock 官方的注释 1 /** 2 * Ob ...

  4. java的接口理解_原来Java的接口可以这样理解

    为什么写这篇文章 今天有人问了我这样一个问题 Java中为什么要使用接口呢? 还要先定义了一个接口,类还要实现接口的方法,还不如直接在这个类中写实现方法呢,根本没必要定义接口啊. 大概就是这样一个问题 ...

  5. 关于JAP FetchType.LAZY(hibernate实现)的理解

    来源:http://www.diwuzhang.com/people-1/article-124/ JPA定义实体之间的关系有如下几种: @OneToOne @ManyToOne @OneToMany ...

  6. Hibernate的transaction嵌套

    HIbernate中,通常都会打开一个transaction来执行一次操作,transaction被称为事务.但是有时候在写一些递归的操作的时候,会不小心犯下事务嵌套的错误,就会得到错误nested ...

  7. Oracle ITL(Interested Transaction List)理解

    ITL(Interested Transaction List) ITL是位于数据块头部的事物槽列表,它是由一系列的ITS(Interested Transaction Slot,事物槽)组成,其初始 ...

  8. hibernate中session接口方法总结

    Session的save()和persist()方法 Session的save()方法使一个临时对象转变为持久化对象.它完成以下操作: (1)将临时对象加入到Session缓存中,使其进入持久化状态. ...

  9. bundle传递对象与Serializable、Parcelable接口理解和思考

    bundle.putSerializable 或者 bundle.putParcelable 传进去的对象一定要implements Parcelable 或者 Serializable 这两个接口. ...

最新文章

  1. 构建一个增量推荐系统
  2. 递归解决CSDN论坛上的小朋友分苹果问题
  3. HTTP错误汇总及其解决方法
  4. java.lang.NoClassDefFoundError: org/apache/shiro/authc/AuthenticationToken
  5. App接口如何保证安全
  6. ajax获取表单php,Yii2基于Ajax自动获取表单数据的方法
  7. java jdbc oracle rac_JDBC连接oracle RAC数据库配置
  8. 给创业者们推荐一个好的工具
  9. 【Shell】按行读取文件内容
  10. AWS AI网络研讨会 webinar - Case 分享
  11. matlab线性代数电子书,实用大众线性代数 MATLAB版_13652907.pdf
  12. 【软考 系统架构设计师】软件架构设计⑦ 构件与中间件技术
  13. 如何写软件设计文档[转]
  14. 程序员5种编程入门方法,如何快速学会一门编程语言?
  15. 【Java】Exception in thread main java.lang.UnsupportedClassVersionError
  16. 2023陆军工程大学计算机考研信息汇总
  17. sap 修改主机名过程
  18. js中for(i in array)和for(i=0;i<array.length;i++)之间的坑
  19. 区块链到底能做什么?这506个备案项目告诉你
  20. vc++拾遗(7)-框架、视图、文档

热门文章

  1. STM32系统时钟默认设置
  2. kthread_run创建内核线程的原理
  3. 测验4: 程序的控制结构 (第4周)
  4. EOS 智能合约源代码解读 (9)boot合约
  5. 区块链BaaS云服务(33)印度国家支付 Vajra Platform“特性”
  6. const的一些注意事项
  7. 认证概述散列函数数字签名
  8. 进程间通信——共享内存(CreateFileMapping+MapViewOfFile)
  9. 【安全技术】关于几种dll注入方式的学习
  10. 学了网络安全以后能做哪些岗位呢?来来来,带你们了解