当前位置:首页 > 开发 > 编程语言 > Hibernate > 正文

一点点学习Hibernate3.6 -事务管理

发表于: 2012-04-19   作者:dengyll   来源:转载   浏览:
摘要: Hibernate的事务(Transaction)使用的很简单,和Spring整合后也就用不着了,简单的记下几个方法. //取得session Session session = sessionFactory.openSession(); //打开事务 Transaction tx = session.b

Hibernate的事务(Transaction)使用的很简单,和Spring整合后也就用不着了,简单的记下几个方法.

//取得session
Session session = sessionFactory.openSession();
//打开事务
Transaction tx = session.beginTransaction();
//取得OID为7的持久对象
Person person = (Person) session.load(Person.class7);
//回滚事务
tx.rollback();
//设置事务超时时间
tx.setTimeout(30000);
//判断事务是不是已经提交
tx.wasCommitted();
//判断事务是不是已经回滚
tx.wasRolledBack();
//提交事务
tx.commit();
//关闭session(关闭连接)
session.close();

事务的隔离级别,可以配置的值(隔离级别,对应的整数表示):


    READ UNCOMMITED     1
    READ COMMITED         2
    REPEATABLE READ      4
    SERIALIZEABLE           8

可以在主配置文件中增加<property>标签的hibernate.connection.isolation属性来修改隔离级别.隔离级别标准有4种,但具体应看数据库支持几种,Oracle 只支持2种事务隔离级别:READ COMMITED, SERIALIZABLE.Oracle 默认的事务隔离级别为 READ COMMITED;Mysql 支持4中事务隔离级别,Mysql 默认的事务隔离级别为: REPEATABLE READ,可以修改,Mysql中对事务进行操作:

查看当前连接隔离级别:SELECT @@tx_isolation;

查看全局隔离级别:SELECT @@global.tx_isolation;

设置当前连接连接的隔离级别:set transaction isolation level read committed;

设置全局连接的隔离级别:set global transaction isolation level read committed;

设置是否自动提交(0为false):set autocommit=0;

查看当前的自动提交状态:select @@autocommit;

一点点学习Hibernate3.6 -事务管理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号