DB事务还是Java DAO的方法同步?

2023-12-13

我有基于Java的Web服务器,并且我还有带方法的DAO单例对象,其SQL操作的逻辑必须以某种方式同步以保证数据 完整性(可以同时从多个 Java 线程访问方法)。

我想知道DB事务包装(可序列化级别)是否优于DAO的方法显式同步在服务器端?


是的,使用交易更好。通过在代码中同步、锁定类,该锁的范围是您的类加载器,并且启动应用程序的第二个实例将使您的锁定无效,因为这两个实例使用不同的锁。

通过数据库事务,您可以拥有应用程序的多个实例,并且数据库以相同的方式对待所有事务。

此外,对于数据库,您还可以选择将隔离级别降低到不高于该事务所需的级别,或者使用行级锁定。这些在代码中很难实现,而且您仍然无法部署第二个实例。

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

DB事务还是Java DAO的方法同步? 的相关文章

随机推荐

  • 存在寄存器溢出机制时,为什么会因为寄存器使用过多而无法启动内核呢?

    1 内核什么时候开始将寄存器溢出到本地内存 2 当没有足够的寄存器时 CUDA运行时如何决定不启动内核并抛出太多资源请求错误 多少个寄存器足以启动内核 3 既然存在寄存器溢出机制 即使没有足够的寄存器 难道不应该启动所有CUDA内核吗 1
  • 将信号连接到插槽会立即导致信号被发射

    我正在用 python 3 3 3 和 pyqt5 编写一个程序 我已经连接了很多信号和插槽 没有任何问题 这导致了一个问题 我的代码如下 def populateVendorAndModelComboBoxes self vendorCo
  • java 中的错误填充异常(RSA 解密)

    在解密 java 中的 RSA Base64 编码字符串时 我遇到一些问题 RSA 加密字符串是由 c Net 生成的 实际上 我使用java创建了公钥和私钥 然后我将公钥交换给 Net Team 他们使用公钥加密了一个字符串RSACryp
  • 复制模板电子表格脚本时,可在 Google 电子表格脚本中安装 onEdit 触发器

    我有一个复制模板电子表格的脚本 A 该电子表格模板中有一个脚本 B 模板电子表格和脚本已成功以编程方式复制并与其他人共享 模板脚本需要使用 onEdit 触发器来修改第三个电子表格 模板电子表格副本中的编辑将同步到第三个电子表格 简单触发器
  • Jquery可排序更新事件只能调用一次吗?

    我正在尝试使用 Jquery 和 Php 进行类别更改 我对此没有问题 我的问题是 当调用更新事件时 它返回 2 个结果 拖动父项有 1 个结果 删除父项有 1 个结果 我只想拨打失联父母的身份证 这是我的脚本 gallery ul sor
  • 如何使用 Cucumber 激活 Spring Boot 配置文件

    我正在寻找一种好方法来激活我的黄瓜测试的弹簧配置文件 黄瓜测试需要使用标记为以下内容的服务的存根版本 Profile test Component class FooServiceStub extends FooService 常规服务如下
  • 检查 pickle 转储的依赖关系

    假设我写了下面的代码 import pickle def foo return foo def bar return bar foo pickle dump bar open bar bin wb 此时 我有一个二进制转储 当然不依赖于fo
  • 如何将单击事件处理程序分配给绘制矩形的一部分?

    想象一下我使用 NET 图形类来绘制一个矩形 然后 我如何分配一个事件 以便如果用户单击某个点或某个点范围 就会发生某些事情 单击事件处理程序 我当时正在阅读 CLR via C 和事件部分 我从所读到的内容中想到了这个场景 这样的代码示例
  • matplotlib:使用 fill_ Between 制作彩色三角形

    我用下面的代码在空间中绘制了随机三角形 但我想用颜色填充三角形 我知道fill between matplotlib 中的函数 但是我不确定如何在下面的示例中实现它 import matplotlib pyplot as plt trian
  • Processbuilder 不重定向 StdOut

    是否可以将输出流重定向回进程 或者根本不重定向 背景故事 我正在尝试使用 processbuilder 启动可执行文件 确切地说是源专用服务器 srcds exe 使用 processbuilder 启动它的结果是 该可执行文件的控制台窗口
  • ASP.NET 多语言策略建议

    嗨 兄弟姐妹们 我想知道是否有人会分享他们认为使用 NET 启用动态多语言系统的最佳策略的经验 我有一位客户希望拥有一个半 MRP 系统来存储所有产品的材料和规格 这些信息稍后将用于其他模块 例如发票 采购 营销 提取信息用于打印目的 等等
  • 具有不同版本的多个上下文

    我正在尝试在多个 OpenGL 上下文之间共享列表 这是一个很棒的功能 因为它允许我执行并行渲染线程 但由于我使用的是 CreateContextAttribs 因此我提供了请求特定 OpenGL 实现的可能性 因此 可能会发生某些上下文正
  • 如何在Python中将字符串列表转换为复数? [复制]

    这个问题在这里已经有答案了 我正在尝试编写在 Python 中导入和导出复数列表的代码 到目前为止 我正在尝试使用 csv 模块 我已使用以下方法将数据导出到文件 spamWriter csv writer open data csv wb
  • Fullcalendar/获取 JSON feed(已编辑)

    当使用 ajax 从 JSON feed 获取数据时 我的 fullCalendar 对象中的事件未显示 这是一个问题 我相信 JSON 格式是正确的 因为 JSON aspx 的输出是 id 1 title TESTTITLE info
  • 如何将整个 SQL Server 2014 数据库转储到文件中,以便导入到 Postgres 数据库中?

    我有一个 SQL Server 2014 数据库 我需要从中转储表数据 没有索引 存储过程或其他任何内容 该转储需要 按原样 导入到 Postgres 9 3 数据库中 创建此类转储的正确命令行是什么 我必须承认 这更像是一个笑话 您应该按
  • C# - 从静态 main 调用函数

    我的问题可能非常基本 但我没有找到答案 我在program cs中编写了一个函数 获取2个字符串的public checkSomething 当我尝试从静态 main 调用此函数时 我收到这个错误 非静态字段 方法或需要对象引用 属性 ch
  • 忽略示例函数中的值或 NA

    我在 R 中有一个矩阵 我想从每一行中抽取一个随机样本 我的一些数据在 NA 中 但是在进行随机采样时 我不希望 NA 成为采样的选项 我将如何实现这个目标 例如 a lt matrix c rep 5 10 rep 10 10 rep N
  • Google 脚本从选择范围(不是整个工作表)中删除重复项

    下面是一个用于从电子表格中删除重复行的 Google 表格脚本 虽然它确实可以删除重复的行 但它也会在此过程中破坏单元格内的公式 我目前有一系列工作表 其中所有原始数据都包含在列中A P我的所有公式都归入列Q T 在我尝试限制以下脚本仅适用
  • WIX 安装程序在状态行中显示括号

    我正在使用 WIX 安装程序 它在状态行中显示一些括号 见下图 我没有对 WIX 文件进行更改 但仅更改了已安装的文件 我确实将 WIX 更新到了 v3 11 因为这是在 Visual Studio 2017 中使用 WIX 所必需的 我们
  • DB事务还是Java DAO的方法同步?

    我有基于Java的Web服务器 并且我还有带方法的DAO单例对象 其SQL操作的逻辑必须以某种方式同步以保证数据 完整性 可以同时从多个 Java 线程访问方法 我想知道DB事务包装 可序列化级别 是否优于DAO的方法显式同步在服务器端 是