`
1028826685
  • 浏览: 938866 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

事务

阅读更多
知识点:


JDBCTransaction
单个数据库(一个SesisonFactory对应一个数据库),由JDBC实现。
Session session = null;
Transaction tx =null;
try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
//process
tx.commit();
} catch(HibernateException e){
if(tx != null)tx.rollback();throw e;
}finally {
if (session != null)session.close();
}
connection.setAutoCommit(false);
connection.commit();conn.rollback();

JDBCTransaction
单个数据库(一个SesisonFactory对应一个数据库),由JDBC实现。
Session session = null;
Transaction tx =null;
try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
//process
tx.commit();
} catch(HibernateException e){
if(tx != null)tx.rollback();throw e;
}finally {
if (session != null)session.close();
}
connection.setAutoCommit(false);
connection.commit();conn.rollback();

session context和事务边界
用current_session_context_class属性来定义context(用sessionFactory.getCurrentSession()来获得session),其值为:
1.thread:ThreadLocal来管理Session实现多个操作共享一个Session,避免反复获取Session,并控制事务边界,此时session不能调用close当commit或rollback的时候session会自动关闭(connection.release_mode:after_transaction)。
Open session in view:在生成(渲染)页面时保持 session打开。
2.jta:由JTA事务管理器来管理事务(connection.release_mode:after_statement)。
悲观锁和乐观锁
悲观锁由数据库来实现;乐观锁hibernate用version和timestamp来实现

分享到:
评论

相关推荐

    spring 自定义事务管理器,编程式事务,声明式事务@Transactional使用

    在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。本教程将深入探讨如何在Spring中实现自定义事务管理器、编程式事务处理以及声明式事务`@Transactional`的使用。 首先,让我们了解事务...

    深入理解分布式事务,高并发下分布式事务的解决方案

    本文来自于csdn,本文主要从分布式的原因,事务特性,和解决方案中深入理解了分布式事务,希望对您的学习有所帮助。 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的...

    如何控制JPA的事务

    "JPA事务管理" JPA(Java Persistence API)是一种Java持久化规范,它提供了一个抽象层来访问关系数据库。JPA的事务管理是指对一系列操作的管理,包括创建、读取、更新和删除(CRUD)等操作。事务管理的目的是确保...

    SQLServer存储过程中事务的使用方法

    在SQL Server中,事务是确保数据一致性的重要机制,特别是在存储过程中。存储过程是一组预编译的SQL语句,可以在数据库中被多次调用,提高了效率并降低了网络流量。本篇将详细介绍如何在SQL Server存储过程中使用...

    Spring自定义切面事务问题

    ### Spring自定义切面事务问题 #### 背景与挑战 在开发基于Spring框架的应用程序时,我们经常需要利用AOP(面向切面编程)来实现横切关注点(如日志记录、安全控制、事务管理等)的模块化处理。其中,事务管理是...

    C#中增加SQLite事务操作支持与使用方法

    C# 中增加 SQLite 事务操作支持与使用方法 在 C# 中使用 SQLite 数据库时,事务操作是非常重要的一部分。事务操作可以确保数据库的数据一致性和完整性,避免数据不一致的情况。下面将详细介绍 C# 中增加 SQLite ...

    含有事务操作的sqlhelper类C#

    在这个主题中,我们将深入探讨如何在C#中使用SQLHelper类进行事务操作,以及事务的重要性和应用。 事务是数据库操作的基本单位,它确保一组操作要么全部成功,要么全部失败,从而维护数据的一致性。在C#中,我们...

    Spring中事务的传播属性详解

    ### Spring中事务的传播属性详解 #### 一、引言 在使用Spring框架进行应用程序开发时,事务管理是一项非常重要的特性。Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。其中,声明式事务管理因其...

    TransactionScope和分布式事务

    【分布式事务与TransactionScope详解】 分布式事务是在多台计算机或多个数据库系统间协调进行的一组操作,目的是确保跨多个资源的数据一致性。TransactionScope是.NET框架2.0引入的一个类,用于简化分布式事务的...

    分布式事务若依框架文档

    ### 分布式事务若依框架文档 #### 一、分布式事务基本概念 在理解分布式事务之前,我们首先需要了解数据库事务的基本属性,即ACID特性。 - **原子性(Atomicity)**:事务中的所有操作要么全部成功,要么全部失败...

    java分布式事务demo

    Java分布式事务是大型分布式系统中不可或缺的一个重要组成部分,它确保在多个网络节点间的数据操作能够保持一致性和完整性。在分布式环境中,由于多个服务之间可能存在数据交互,因此需要一种机制来处理跨服务的数据...

    SpringBoot事务和Spring事务详讲

    ### Spring Boot 与 Spring 事务详解 #### 一、引言 在现代企业级应用程序开发中,事务管理是一项至关重要的技术。它确保了一系列操作能够作为一个整体成功或失败,从而维护了数据的一致性和完整性。Spring 框架...

    浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 .docx

    SQL Server中的事务日志是数据库管理系统的关键组成部分,它在确保数据的持久性和事务一致性方面扮演着核心角色。事务日志的物理结构主要由虚拟日志文件(Virtual Log Files, VLFs)组成,这些文件是日志文件的逻辑...

    Java中事务的实现

    在JDBC中,打开一个连接对象Connection时,缺省是auto-commit模式,每个SQL语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个SQL语句组合成一个事务,要将auto-commit模式屏蔽掉。在...

    DRDS跨库事务文档

    DRDS(Distributed Relational Database Service,分布式关系型数据库服务)是一种分布式数据库中间件,旨在简化分布式数据库事务的管理和维护。在数据库系统中,事务是一组操作,这些操作要么全部成功,要么全部...

    Spring事务管理Demo

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式或编程式的方式处理应用中的事务。Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何...

    事务处理:概念与技术

    事务处理广泛地应用于数据库和操作系统领域,并在现代计算机系统中监控、控制和更新信息。本书向读者展示了大型的、分布的、异构的计算机系统是如何进行可靠工作的。作者使用事务作为基本概念,说明了在有限的资金和...

    spring事务操作试验

    在Spring框架中,事务管理是核心功能之一,它允许开发者以声明式或编程式的方式处理应用中的事务。本文将深入探讨在"spring事务操作试验"中涉及的关键知识点,并结合提供的资源进行详细阐述。 首先,Spring事务管理...

Global site tag (gtag.js) - Google Analytics