Java事务的类型有三种

来源:互联网 发布:golang package 编辑:程序博客网 时间:2024/05/22 15:57

    Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。


    普通事务只支持一个数据库连接,不能跨越多个数据库。默认的情况为自动提交事务,也就是说,每一条对数据库的更新的sql语句代表一项事务,操作成功后,系统自动调用commit()来提交,否则将调用rollback()来撤消事务。


    而XA事务支持在两个或多个网络计算机资源上访问并且更新数据,这些数据可以分布在多个数据库上,如果计划用 JTA 界定事务,那么就需要有一个实现 javax.sql.XADataSource 、 javax.sql.XAConnection 和 javax.sql.XAResource 接口的 JDBC 驱动程序。一个实现了这些接口的驱动程序将可以参与 JTA 事务。一个 XADataSource 对象就是一个 XAConnection 对象的工厂,使用 UserTransaction.begin()、 UserTransaction.commit() 和 serTransaction.rollback()进行操作