transactions相关内容

整个类的事务注释 + 不包括单个方法

我有一个带有 @Transactional 注释的类(而不是为它的所有方法标记它). 虽然我在该类中有一个不应该被注释为 @Transactional 的方法. 我的问题是是否可以在此方法中添加注释以将其标记为“非事务性"?或者我应该开始将此类中的每个方法标记为“事务性",不包括此方法(大量工作) 谢谢. 解决方案 可以使用不同的事务传播策略.这些存在于枚举 Propag ..
发布时间:2022-01-06 21:01:09 其他开发

如何在 PostgreSQL 事务中获得实时?

据我所知 now() 在整个 PostgreSQL 事务期间返回相同的时间?但是如何获得真实时间? 另外,我有兴趣是否有任何配置参数来限制事务的持续时间,以便在此期间到期后事务将立即失败或以其他方式禁止以下查询? 解决方案 Timeofday() 可能对你有用. ..
发布时间:2022-01-06 21:01:02 其他开发

inno db 隔离级别和锁定

我正在阅读有关 innodb 事务的手册,但仍然有很多不清楚的地方.例如,我不太了解以下行为: -- 客户端 1 -- 客户端 2mysql>创建简单表(col int)引擎=innodb;mysql>插入简单值(1);查询正常,1 行受影响(0.00 秒)mysql>插入简单值(2);查询正常,1 行受影响(0.00 秒)mysql>选择@@tx_isolation;+---+|@@tx_is ..
发布时间:2022-01-06 21:00:40 数据库

MySQL 提交和事务

我有一个关于 MySQL 提交和事务的问题.我有几个执行 MySQL 查询的 PHP 语句.我只说以下吗? mysql_query(“开始交易");//这里有更多查询mysql_query(“提交"); 这究竟会做什么?它有什么帮助?对于更新、删除和插入,我还发现这可以阻止其他查询读取: mysql_query(“LOCK TABLES t1 WRITE, t2 WRITE");//这里有更 ..
发布时间:2022-01-06 21:00:26 PHP

提交事务时自动设置 SERIAL 值

假设我有一个表,我想在其中使用 serial 作为主键来请求客户端的更改.客户将询问“在键 X 之后给我更改".如果不使用 SERIALIZABLE 隔离级别或锁定,这很容易出现竞争条件. 事务 A 可以先开始,然后进行写入,然后需要很长时间才能提交.同时事务 B 将在 A 提交之前启动并提交.来自 B 的写入将获得比来自 A 的写入更高的主键.如果客户端现在要求更改,它将错过来自 A 的仍 ..
发布时间:2022-01-06 21:00:12 其他开发

在事务中包装插入对 Sql Server 的性能有多大帮助?

好吧,假设我有 100 行要插入,每行大约有 150 列(我知道这听起来像很多列,但我需要将这些数据存储在一个表中).插入将随机发生(即,每当一组用户决定上传包含数据的文件时),大约每月 20 次.然而,数据库将承受持续负载处理大型企业应用程序的其他功能.列是 varchars、ints 以及各种其他类型. 在事务中包装这些插入(而不是一次运行一个)的性能增益是巨大的、最小的还是介于两者之间 ..
发布时间:2022-01-06 20:59:48 数据库

是否有针对 Java 中 XA 事务文件访问的开源解决方案?

是否可以在 Java 中对文件系统进行 XA 事务访问?我想在事务边界内操作文件,我的事务必须通过 JTA 参与分布式事务(所以我猜文件系统需要作为 XAResource 访问).我不需要对细粒度读/写文件访问的支持;将每个文件视为记录足以满足我的需求. 有没有人知道一个已经这样做的开源项目?我不想实施这个烂摊子只是为了发现它已经完成了...... 我听到一些传言说 JBoss Tra ..
发布时间:2022-01-06 20:59:22 Java开发

单个更新查询所需的事务?

我在 InnoDB 表上有一个 mysql 查询,如下所示: UPDATE items SET qty = qty + 5 WHERE item_id = 1234 LIMIT 1; 我需要为此使用事务吗?不使用事务会发生什么不希望的事情吗? 解决方案 不会发生严重的事情.默认情况下,MySQL 将所有单个更新/插入/删除命令包装在一个事务中.如果更新出现问题,那么事务应该正确回滚. ..
发布时间:2022-01-06 20:59:14 数据库

Hibernate 将对象保存到多个会话

我正在尝试使用休眠写入多个数据库.我已经将写和读/写会话封装在一个会话对象中.但是,当我去保存时,我收到很多错误,这些对象已经与另一个会话相关联:“非法尝试将一个集合与两个打开的会话相关联" 这是我的代码: public class MultiSessionObject 实现 Session {私人会话 writeOnlySession;私人会话 readWriteSession;@覆盖p ..
发布时间:2022-01-06 20:59:07 Java开发

带有@Transactional 注释的多个事务管理器

我们有基本的通用管理器由所有经理继承.根据经理被注释为@Transactional 注释. 有 2 组事务性服务: x.y.service1.* - 必须由 transactionManager1 管理x.y.service2.* - 必须由 transactionManager2 管理 如何在不需要覆盖所有事务方法并指定事务管理器的情况下配置事务? @Transactio ..
发布时间:2022-01-06 20:58:59 Java开发

为什么 PostgreSQL 可序列化事务认为这是冲突?

据我所知,PostgreSQL 使用某种监视器来猜测可序列化隔离级别是否存在冲突.很多例子都是关于在并发事务中修改相同的资源,可序列化事务很好用.但我想以另一种方式测试并发问题. 我决定测试 2 个用户修改他们自己的帐户余额,并希望 PostgreSQL 足够聪明,不会将其检测为冲突,但结果不是我想要的. 下面是我的表,有4个账户,属于2个用户,每个用户有一个支票账户和一个储蓄账户. ..
发布时间:2022-01-06 20:58:44 其他开发

SQLite 3 下用事务优化选择

我读到将大量 SELECT 包装到 BEGIN TRANSACTION/COMMIT 中是一个有趣的优化. 但是如果我之前使用“PRAGMA journal_mode = OFF",这些命令真的有必要吗?(如果我记得的话,这会禁用日志,显然也禁用事务系统.) 解决方案 “使用事务——即使你只是在读取数据.这可能会产生几毫秒." 我不确定 Katashrophos.net 博客从 ..
发布时间:2022-01-06 20:58:35 数据库

按请求可变事务隔离级别

我正在编写一个小拍卖应用程序,并且确定地记录我的出价非常重要.毕竟,拍卖的最后几秒对买家来说是关键时刻,我不能冒险让他们同时出价和竞争. 当然,这就是事务隔离的用途.我可以将我的隔离级别设置为可序列化,我们都设置好了. 但是所有其他请求呢?如果人们正在查看个人资料或发送消息,则这些请求不需要接近这种事务隔离的任何地方.对于这些请求,读提交隔离级别是完全可以接受的. 我正在将我的事 ..
发布时间:2022-01-06 20:58:29 Java开发

PostgreSQL 中的最大事务大小

我的应用程序中有一个实用程序,我需要在其中执行 INSERT、UPDATE & 的批量加载.删除操作.我正在尝试围绕此创建事务,以便一旦调用此系统并将数据提供给它,就可以确保将其全部或不添加到数据库中. 关心的是这里的边界条件是什么?有多少 INSERT、UPDATE &DELETE 我可以在一笔交易中进行吗?交易大小是否可配置? 解决方案 我不认为在事务中可以执行的工作量是最大的. ..
发布时间:2022-01-06 20:58:01 其他开发

Java Spring @Transactional 方法未按预期回滚

下面是我正在尝试做的事情的简要概述.我想通过一个方法调用将一条记录推送到数据库中的两个不同表.如果有任何失败,我希望一切都回滚.因此,如果 insertIntoB 失败,我希望回滚 insertIntoA 中提交的任何内容. 公共类服务{MyDAO 道;public void insertRecords(List记录){对于(记录记录:记录){insertIntoAAndB(记录);}}@Tra ..
发布时间:2022-01-06 20:57:37 Java开发

Spring批处理中的提交间隔和处理回滚

我的问题与 Spring 批处理和事务有关. 假设我为我的步骤之一选择了 提交间隔 50. 另外假设我总共有 1000 条记录,其中一条会导致 itemWriter 失败,从而导致整个块的回滚(在我的示例中为 50 条记录). 确保在作业完成(并忽略有问题的块)后将 49 条有效记录写入数据库的状态是什么? 解决方案 经过一番研究,我想出了以下几点: 如果一个项目编 ..
发布时间:2022-01-06 20:57:28 Java开发

now() 默认值都显示相同的时间戳

我已经用一列(类型:带时区的时间戳)创建了我的表,并将其默认值设置为 now() (current_timestamp()). 我在单个函数的单独语句中运行了一系列插入,我注意到所有时间戳都等于 (ms),函数值是否以某种方式缓存并为整个函数调用或事务共享? 解决方案 即 预期和记录行为: 来自手册: 由于这些函数返回的是当前事务的开始时间,因此它们的值在事务期间不会改变 ..
发布时间:2022-01-06 20:56:55 其他开发

Django:从事务角度看 save() 和 create() 的区别

Django 中的 create() 方法会创建一个模型实例,然后调用 save(),据说会触发提交.所以触发事务的提交应该没有任何区别. 但实际上,在 Postgresql 上使用 create() 执行一个创建一堆模型实例的方法时,我得到 transaction aborted, commands waiting until end of transaction 异常.该方法在非事务性数 ..
发布时间:2022-01-06 20:56:46 其他开发

JPA 事务的工作原理

每当我想保留任何实体时,都会执行以下代码.事情似乎运行良好,但我不明白它是如何工作的! EntityManager em = getEntityManager();EntityTransaction userTransaction = em.getTransaction();userTransaction.begin();em.persist(ent);userTransaction.commi ..
发布时间:2022-01-06 20:56:39 其他开发