一、JDBC事务
JDBC的java.sql.Connection中定义事务的隔离级别
相关方法:
setAutoCommit(boolean autoCommit):设置是否自动提交事务
commit():提交事务;rollback():撤销事务
通过Connection对象的setTransactionIsolation(int level)方法设置本次连接的事务隔离级别。
二、Hibernate事务
Hibernate是对JDBC轻量级的封装,在事务管理层是通过底层的JDBC和JTA管理的,本身不具备事务管理能力。可以在Hibernate配置文件中配置使用JDBC事务,如果不配置默认是使用JDBC事务的。还可以配置事务隔离级别:
<property name="connection.isolation">2</property> //设置事务隔离级别
当在Hibernate中SessionFactory获取Session时,Hibernate会为当前Session初始化对应的Connection对象,调用Connection对象setAutoCommit()方法将自动事务提交设置为false。
声明事务的开始边界:Transaction tx = session.beginTransaction();
提交事务:tx.commit();
撤销事务:tx. rollback();