在oracle数据库中持久化处理并发请求?

2023-12-25

我有这样的场景,在航空公司网站上(使用 Java),两个不同的客户同时发送两个请求以预订同一家航空公司的同一个座位
从纽约到芝加哥。我使用的是oracle数据库,隔离级别是读已提交。我的问题是oracle数据库是否提供 有什么解决方案来处理这种并发场景吗?我所知道的是,当第一个事务 DML 语句被触发时,它将锁定受影响的对象 行并将在事务完成时释放,即发出回滚或提交。但是一旦提交完成,第二个请求将立即继续 第一个已完成并将覆盖第一个。那么这没有帮助吗?

是的,在Java中,我可以将我的数据库类设置为单例,并在执行更新的方法上使用synchronized关键字。但想知道有没有 无论如何,我们可以在数据库级别本身解决这种问题吗?可能串行化的隔离级别可以提供帮助。但不确定?


只有在您允许的情况下它才会覆盖。你可以尝试类似的东西

UPDATE seatTable
SET seatTaken = true
WHERE .. find the seat, flight etc.. AND seatTaken = false

这将返回第一次更新的 1 行和之后更新的 0 行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在oracle数据库中持久化处理并发请求? 的相关文章

  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • 打印星号的 ASCII 菱形

    我的程序打印出这样的钻石 但只有当参数或菱形的每一面为4 例如如果我输入6 底部三角形的间距是错误的 我一直在试图找出答案 当参数改变时 底部的三角形不会改变 只有顶部的三角形会改变 它只适用于输入4 public static void
  • Integer.parseInt("0x1F60A") 以 NumberformatException 结束

    我尝试从数据库中获取长字符串内的表情符号代码 格式如下 0x1F60A 所以我可以访问代码 但它将是String 起初 我尝试通过执行以下操作来转换变量tv setText beforeEmo getEmijoByUnicode int e
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • 流中的非终结符 forEach() ?

    有时 在处理 Java Stream 时 我发现自己需要一个非终端 forEach 来触发副作用但不终止处理 我怀疑我可以用 map item gt f item 之类的方法来做到这一点 其中方法 f 执行副作用并将项目返回到流中 但这似乎
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • QuerySyntaxException:无法找到类

    我正在使用 hql 生成 JunctionManagementListDto 类的实际 Java 对象 但我最终在控制台上出现以下异常 org hibernate hql internal ast QuerySyntaxException
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 泛型、数组和 ClassCastException

    我想这里一定发生了一些我不知道的微妙事情 考虑以下 public class Foo
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复

随机推荐

  • UIWebView 捕获帖子

    我正在寻找一个需要在 iPad 上显示 UIWebView 的项目的起点 问题是 HTML 将由 pad 生成并显示在 UIWebView 中 并且将包含许多输入控件 需要的是一种在用户完成输入后获取这些控件的内容的方法 类似于我在服务器上
  • Apptimize \ Optimizely 如何在 iOS 上工作?

    我试图弄清楚一些关于 幕后 实现的一些事情 用于直接从 Apptimize 或 Optimizely 上的 Web 控制台动态操作 UI 元素 更具体地说 我想了解以下内容 1 客户端代码 iOS 如何将视图层次结构发送到 Web 服务器
  • 使用 Firebase 时使用未解析的标识符“FIRDatabase”

    Xcode 告诉我FIRDatabase不是标识符 我的代码 import UIKit import Firebase UIApplicationMain class AppDelegate UIResponder UIApplicatio
  • 为什么tintColor 在 iOS7 上的导航栏或工具栏上不起作用

    在iPad的iOS7上 首先 我设置了一个模态视图控制器 大小为320 460 然后 在这个模态视图控制器中 我呈现了另一个导航视图控制器 在此之后 导航栏和工具栏的色调颜色呈现的导航控制器变成灰色 我尝试设置导航栏和工具栏的色调颜色 但它
  • 什么是 C++ 上下文中的单态化?

    戴夫 赫尔曼最近的演讲 http www infoq com presentations RustRust 说他们从 C 借用了这个属性 我找不到与该主题相关的任何内容 有人可以解释一下单态化是什么意思吗 单态化意味着生成通用函数的专门版本
  • 在Android中设置ListView的“空白”区域的颜色

    当我的列表视图未完全充满列表视图项目时 例如 我的列表视图足够高 可容纳 8 个项目 但我只有 2 个 空白区域在我的 Droid X 上显示为灰色 在模拟器中 空白区域显示变成黑色 如何将 空白 区域设置为透明 我尝试过设置背景颜色 缓存
  • Python 中的替代构造函数

    我正在处理图表并编写了一个 mixin 模块来创建图表 我想在其中有一些替代的构造函数 这就是我所拥有的 class Graph GraphDegree GraphDegreePlot GraphGeneration object def
  • 按照设计,属性 getter 是否应该在 python 中抛出异常?

    对于问题的某些上下文 我使用延迟加载来推迟类中某些属性的完全初始化 直到需要它们时 如果有的话 因为它们的计算成本可能很高 我的问题是 在 python 中 如果在计算属性值时发生错误 或者无法计算该值 那么引发异常是可以接受的还是客观上是
  • 选择单选按钮时如何清除文本字段内的文本

    目前我有这个单选按钮 电子学 电脑 Others 我想做的是 如果单选按钮Others被选中后 我想显示一个输入文本字段并让用户输入 我想做的是 当我选择Others并在输入字段中输入一些内容 然后当我选择返回时Eletronics or
  • 如何设置和运行适用于 PHP 的 Tesseract OCR(开源)?

    我已经根据GitHUb上提供的文档通过MacPorts安装了Tesseract OCR 并且安装成功 并且 但是 我正在尝试使用 Tesseract OCR for PHP https github com thiagoalessio te
  • python 解码 fernet 密钥

    我生成了一些 fernet 密钥并以 str 格式存储以供参考 现在 我需要将这些 str 格式的 fernet 密钥编码为 32 个 url 安全的 base64 编码字节来解密我的数据 from cryptography fernet
  • 在数据框的整个列中应用正则表达式

    我有一个包含 3 列的数据框 id name team 101 kevin marketing 102 scott admin n 103 peter finance n 我正在尝试应用正则表达式函数 以便删除不必要的空格 我已经得到了删除
  • glReadPixels 只保存 1/4 屏幕尺寸的快照

    我正在为客户开发增强现实应用程序 OpenGL 和 EAGL 部分已在 Unity 3D 中完成 并在我的应用程序中实现为视图 我现在需要的是一个按钮 用于捕捉 OpenGL 内容的屏幕截图 这是最后面的视图 我尝试自己编写它 但是当我单击
  • 接收事件,如果文件已下载/添加到下载文件夹

    每当文件添加到特定文件夹时 我希望收到一个事件 例如下载文件夹 为了达到这个目的 我尝试了 3 种不同的方法 但没有成功 目标设备为 Android 15 您对这 3 种方法有任何经验吗 可以帮助制作工作示例吗 方法 1 FileObser
  • HID:“速率控制”连接“应用程序”对受保护服务的访问被拒绝

    在某些情况下 我们的应用程序会收到以下错误消息 看起来我们无法执行任何网络请求 应用程序成功启动到登录屏幕 但当它尝试联系我们的服务器进行登录时 我们收到此消息 HID The Rate Controlled connection appn
  • NumPy 切片:除一个数组条目外的所有切片

    从操作中排除确切的一个 NumPy 数组条目的最佳方法是什么 我有一个数组x含有n值并想要排除i当我打电话时的第 个条目numpy prod x 我知道关于MaskedArray 但是还有另一种 更好的方法吗 我认为最简单的是 np pro
  • 使用 Haskell Parsec 自定义空白

    我想使用秒差距makeTokenParser构建我的解析器 但我想使用我自己的定义whiteSpace 执行以下替换whiteSpace按照我的定义 但所有lexeme解析器仍然使用旧的定义 例如P identifier lexer将使用旧
  • Redshift - 将纪元字符串转换为时间戳

    我有一个包含 2 列 epoch start 和 epoch end 的表 我想找出这两个纪元的天数差异 我面临的问题是上面的列是字符变化 5000 类型 我运行的查询是 选择 datediff day 1459762341 1450762
  • 在 MAMP PRO 上安装并启用 Xdebug

    我正在尝试在我的 MAMP PRO 安装上设置 Xdebug 我尝试使用 xdebug org wizard php 来获取正确的 Xdebug 版本以及自定义安装说明 但我遇到了困难 根据步骤4中的定制安装说明 http i49 tiny
  • 在oracle数据库中持久化处理并发请求?

    我有这样的场景 在航空公司网站上 使用 Java 两个不同的客户同时发送两个请求以预订同一家航空公司的同一个座位从纽约到芝加哥 我使用的是oracle数据库 隔离级别是读已提交 我的问题是oracle数据库是否提供 有什么解决方案来处理这种