首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是交易?

什么是交易?
EN

Software Engineering用户
提问于 2015-07-08 21:52:37
回答 2查看 5K关注 0票数 6

在阅读Spring教程时,我经常会遇到@Transactional注释。

当我搜索它时,我得到的文档如下:

全面的事务支持是使用Spring框架最引人注目的原因之一。Spring框架为事务管理提供了一致的抽象,提供了以下好处:

或者:

事务管理器是应用程序中负责跨一个或多个资源协调事务的部分。在Spring框架中,事务管理器实际上是事务系统的根。因此,如果希望在Spring中启用组件上的事务,通常需要创建事务管理器bean并将其传递给组件。

我不知道他们在说什么。

有人能解释一下吗?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2015-07-08 22:07:52

从最广义的意义上说,“事务”是一组应该执行的操作,就像它们是单个“批量”操作一样。这个术语通常在数据库的上下文中使用,但它可以应用于多种类型的程序(特别是那些实现命令模式的程序)。当我们谈论数据库时,即使不是数据库,我们也希望事务具有所谓的酸性质

  • 原子性-事务是一个单一的、不可打破的单元。它不能部分适用,也不能部分取消。它要么完全完成,要么根本不做。
  • 一致性-应用程序/数据库/任何事务之前和之后都必须处于有效状态。如果试图执行事务会导致无效状态,则必须“回滚”到最后一个有效状态。
  • 隔离-每个事务与其他事务是分开的。任何两个交易都不能“交织”。它们总是一次执行一次(或者以与“一次一次”无法区分的方式执行)。
  • 持久性-一旦事务被执行,它将永远保持执行。这一项主要与数据库有关,这意味着数据的更改实际上已提交到磁盘,因此即使机器突然重新启动,新的数据也不会丢失。

并不是所有类型的事务都需要具有所有四个属性,但通常在编程上下文中使用"transaction“一词时,这意味着一个至少强制执行某些(如果不是全部)的系统。我相信Spring指的是数据库事务,并且声称要强制执行所有这些属性。

票数 13
EN

Software Engineering用户

发布于 2015-07-08 21:56:52

事务是以某种方式相互关联的一组操作。当所有操作都已成功执行时,事务被视为已完成。

事务的主要优点之一是能够回滚它。

在开发中,我们有指挥模式 --命令也是可以执行、回滚和排队的事务。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/289139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档