一点点学习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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值