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

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;

你可能感兴趣的:(spring,oracle,Hibernate,事务管理)