`
zhanghteye
  • 浏览: 51227 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

数据库事物处理

阅读更多
Hibernate SessionFactory中openSession和getCurrentSession方法的区别:
1. 前者打开一个新的,后者当前有session的话,则是使用当前的session,没有的话则创建一个新的;
2. 如果使用前者获得一个session的话,需要手动关闭session,使用后者,当事务提交,session会自动关闭,如果再关闭session则会报如下异常:Session has already closed;

事务边界声明
只要声明了一个事务,数据库系统就会自动保证事务的ACID特性。
    

      声明事务包含:

      事务的开始边界

      事务的正常结束边界(commit):提交事务,永久保存

      事务的异常结束边界(rollback):撤销事务,数据库回退到执行事务前的状态

    

     数据库支持两种事务模式:

      自动提交模式:每个SQL语句都是一个独立的事务,数据库执行完一条SQL语句后,会自动提交事务。

      手工提交模式:必须由数据库的客户程序显式指定事务的开始和结束边界

    

      JDBC Connection类的事务控制方法:

      setAutoCommit(boolean autoCommit) 设置是否自动提交事务,默认自动

      commit() 提交事务

      rollback() 撤销事务
Hibernate控制事务的方法:

     1. 调用sessionFactory不带参数的openSession方法,从连接池获得连接,Session自动把连接设为手工提交事务模式。

      Session   session = sessionFactory.openSession();

      若调用带connection参数的openSession,则需要自己设置手工提交:

      connection.setAutoCommit(false);

      Session   session = sessionFactory.openSession(connection);
      2. 声明事务的开始边界

      Transaction tx = session.beginTransaction();

      3. 提交事务

       tx.commit();

      4. 撤销事务:

       tx.rollback();

      一个session可以对应多个事务,但是应优先考虑让一个session只对应一个事务,当一个事务结束或撤销后,就关闭session.

     不管事务成功与否,最后都应调用session的close关闭session

      任何时候一个session只允许有一个未提交的事务,不能同时开始两个事务



分享到:
评论

相关推荐

    数据库事务处理ppt

    数据库事务处理是数据库管理系统中的核心概念,用于确保数据的一致性和完整性。事务是数据库操作的基本单元,它包含一组逻辑操作,这些操作要么全部执行,要么全部不执行,以确保数据的原子性。事务处理主要关注两个...

    java代码-使用java解决数据库事务处理的源代码

    java代码-使用java解决数据库事务处理的源代码 ——学习参考资料:仅用于个人学习使用!

    分布式数据库事务处理(COM+实现)

    分布式数据库事务处理是数据库系统中的一个重要概念,尤其是在大型企业级应用和互联网服务中,它能够保证数据的一致性和完整性,即使在多台计算机之间进行数据操作。COM+(Component Object Model Plus)是微软提出...

    数据库事务处理课件

    共计132页的ppt,详细讲述数据库事务处理技术

    数据库基础数据库事务处理.pptx

    "数据库基础数据库事务处理" 数据库事务处理是数据库系统的基本概念,允许用户对数据进行更改,然后决定是保存还是放弃所做的更改。事务处理是一个不可分割的工作单位,多个步骤绑定在一起形成一个逻辑操作,包含...

    数据库事务处理基础——设计与实现

    数据库事务处理是数据库管理系统中的核心概念,用于确保数据的一致性和完整性。在“数据库事务处理基础——设计与实现”这个主题中,我们将深入探讨数据库事务的各个方面,包括其定义、特性、类型以及如何在实际应用...

    数据库事务处理实例图解

    数据库事务处理

    基于移动代理的分布式数据库事务处理算法设计.pdf

    分布式数据库事务处理是一个涉及网络中多个数据库节点的数据操作,要求在保证数据一致性的同时,实现事务的原子性、一致性、隔离性和持久性(即ACID特性)。随着互联网和分布式应用的快速发展,传统集中式数据库事务...

    提高数据库事务处理性能的中间件设计.pdf

    【数据库事务处理性能提升】 数据库事务处理性能是衡量数据库系统效能的重要指标,特别是在高并发的在线事务处理(OLTP)环境中。TPC-C是业界广泛采用的基准测试,用于评估数据库在处理各种事务操作时的性能,如新...

    数据库事务处理1

    数据库事务处理是数据库管理系统中的核心概念,用于保证数据的一致性和完整性。事务具有四个关键特性,通常称为ACID属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)...

    数据库事务处理

    SQL Server 2000数据库系统通过事务保证多个数据库操作在一起处理,而事务使用锁定技术来防止其他数据库用户来更新或读取末完成事务中的数据。同时,SQL Server数据库系统为了提高自身的性能,实现多用户之间数据的...

    ORACLE数据库事务处理和故障恢复

    "ORACLE数据库事务处理和故障恢复" ORACLE数据库事务处理和故障恢复是指在ORACLE数据库中,为了确保数据的一致性和完整性,使用事务处理和故障恢复机制来解决数据库并发操作中的问题。 一、并发控制 在多用户...

    数据库事务处理和触发器实验.doc

    【数据库事务处理】 数据库事务是数据库操作的基本单位,它确保了数据库的一致性和可靠性。在事务处理中,一组数据库操作被视为一个逻辑单元,要么全部执行,要么全部不执行。这被称为事务的原子性。事务还具有其他...

    Java中数据库事务处理的代码清单.pdf

    在Java编程中,数据库事务处理是确保数据一致性和完整性的关键机制。事务处理涉及一系列数据库操作,这些操作要么全部成功,要么全部回滚,以防止数据不一致的情况发生。以下是一份简化的Java中数据库事务处理的代码...

    SQL和Oracle对数据库事务处理的差异性.doc

    SQL和Oracle对数据库事务处理的差异性.doc

    ejb之实体Bean与cloudscape数据库事务处理代码

    在本主题中,我们将深入探讨实体Bean如何与CLOUDSCAPE数据库进行事务处理。 一、实体Bean的事务管理 在J2EE 1.3中,实体Bean的事务管理主要依赖于容器提供的服务。容器负责启动和结束事务,确保事务的一致性和隔离...

    数据库与事务处理-带书签pdf版本

    翻译的 数据库与事务处理-带书签pdf完整版本,非PPT

    数据库的事务处理方法

    数据库的事务处理是确保数据完整性、一致性和可靠性的核心机制,尤其在多用户并发环境下,事务扮演了至关重要的角色。事务处理确保多个SQL语句作为一个单一的工作单元执行,以达到以下两个关键特性: 1. 一致性:...

Global site tag (gtag.js) - Google Analytics