transactions相关内容
我们正在尝试构建大批量订单记录系统.共有三个主要表:1. 订单2. 订单详情3. 订单发货 发货表包含每个订单的 n 条记录,任何记录发货条目都可以在客户接受订单之前更改,之后订单将被冻结.(业务需求) 虽然这在现实世界中可能不会发生......在我们的负载测试期间,我们收到 System.Data.Linq.ChangeConflictException 异常.在事务中完成提交也无济
..
我这样做是为了确保这个进程的实例只运行一次(伪代码 php/mysql innodb): 开始交易$rpid = SELECT `value` FROM 锁 WHERE name = "lock_name" FOR UPDATE$pid = posix_getpid();如果($rpid > 0){$isRunning = posix_kill($rpid, 0);if(!$isRunning)
..
我正在考虑通过以下方式在 2 层 WPF(或 Windows 窗体)应用程序中使用事务: 当我们打开新的表单编辑数据时,我们可以开始新的事务,在这个事务中透明地编辑和持久化更改.然后我们可以单击“确定"按钮并提交事务,或单击“取消"按钮并回滚它.如果我们想用这个数据打开另一个对话窗口,我们可以使用嵌套事务. 问题是:这种使用事务的方式是否可以接受?我知道有很多不同的方法可以实现这种逻辑
..
给定以下代码: from django.db 导入事务@transaction.atomicdef viewfunc(请求):# 此代码在事务内执行.做东西() 根据我对 Django 1.6 中事务的理解,如果 do_stuff 抛出异常,比如 IntegrityError,那么事务将正确回滚.但是由于 Django 本身正在调用视图,没有什么可以阻止 IntegrityError 从调用堆
..
PostgreSQL 手册页位于可序列化隔离级别状态: [Like] 可重复读取级别,使用此级别的应用程序必须准备好因序列化失败而重试事务. 在可重复读取或可序列化级别遇到序列化失败的条件是什么? 我试图在运行两个 psql 实例的情况下引发序列化失败,但即使一个事务由一个实例提交,另一个实例在可序列化级别的事务中提交,而另一个提交,已成功提交其更改.两者都只是将记录插入到表中,
..
这是我的交易数据 数据id 从至今的金额19521 6644 6934 2005-01-01 700.019524 6753 8456 2005-01-01 600.019523 9242 9333 2005-01-01 1000.0………………1055597 9866 9736 2010-12-31 278.91053519 9868 864
..
我阅读了一些关于何时应该使用事务的文章.我读到: 我应该什么时候使用事务?基本上任何时候您的工作单元要么对外部更改敏感,要么需要能够回滚每个更改,如果发生错误或其他原因. 但有人能更好地向我解释吗? 当我执行两个或多个时,我应该开始一个事务吗?删除/更新/插入查询? 当我只有一个删除/更新/插入查询时,我是否也应该开始一项事务? 我应该在一个页面上启动一个事务 10 次,还是
..
如果我使用命令 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 然后在同一上下文中使用 EXEC storedProcedureName 执行存储过程,该存储过程是否会使用该事务之前声明的级别还是将使用默认级别? 如果我想强制每个存储过程在事务级别使用,我是否必须在代码顶部包含相同的语句(SET TRANSACTION ISOLATION L
..
我使用的是 Spring 框架. 我的项目结构是Controller ➡️ Service ➡️ Logic. 我在 Logic 类中添加了 @Transactional.我正在使用 EntityManager 进行数据库操作.在每次数据库操作(选择、更新...)之后,我调用 entityManager.flush() 方法.一切都很好. 但是为了提高性能,我在Service类中
..
大家! 我一直试图找到答案,但我没有找到. 我尝试使用 Enterprise Java Beans 配置我的应用程序并使其在 JBoss Application Server 7.1.1 下工作.我的应用程序是 Web 应用程序,它使用 servlet 并将其他类作为 EJB 注入.问题是每个语句都被提交,所以这意味着不支持事务管理. 在我的测试示例中,我有一个包含子项集合的实体
..
我正在使用 Hibernate + spring + @Transactional 注释来处理我的应用程序中的事务. 事务管理器声明如下:
..
我使用的是 Spring 3.1.1.RELEASE、Hibernate 4.1.0.Final 和 JPA 2.0.有没有办法在没有 Java 代码的情况下执行事务后配置 Spring 事务以提交?换句话说,我想将刷新模式设置为在应用程序上下文文件、休眠配置文件或persistence.xml 文件中提交.我的 Spring 事务服务类看起来像 @Transactional(rollbackF
..
正如 Eric Lippert 在 这篇文章,try/catch 子句中不允许yield return. 有没有一种很好的方法可以让我得到这样的东西,而不必手动编写自己的IEnumerator: public IEnumerable获取数据(){var 交易 = Session.BeginTransaction());尝试{IQuery q = CreateQuery(session);f
..
创建样板项目以向启用 JPA 的数据库公开 RESTful API.它使用以下版本: - 春季 3.2.6 - 休眠 4.3.0 - 泽西岛 2.5.1 我终于能够让他们一起玩,但仍然存在一些问题.这是最令人费解的事情之一(请参阅 REST 服务类的摘录) @Service@Path("资源")@Produces({ MediaType.APPLICATION_JSON })@Consu
..
我正在 ADO.NET 中手动编写事务代码.我正在使用的示例重用了 SqlCommand,这看起来是个好主意. 但是,我在命令中添加了参数. 我的问题是:在下面的代码中,command.Parameters.Clear() 是否正确?还是我做错了? using (var connection = new SqlConnection(EomAppCommon.EomAppSetting
..
这可能是微不足道的事情,但我希望得到一些帮助. 我明白了: javax.ejb.EJBException: java.lang.IllegalStateException: 从注入的托管 EntityManager 调用此方法非法11:54:37,105 错误 [STDERR] 在 org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx
..
我写 mysql_query("SET AUTOCOMMIT=0"); mysql_query("开始交易"); 在我编写所有查询之前.然后检查是否所有这些都是真的,然后写: mysql_query("COMMIT"); 但是如果其中一个查询失败,我就通过 COMMIT 查询.那么,如果其中一个查询失败,我真的需要 ROLLBACK 函数吗?因为没有 ROLLBACK 它也可以工作.
..
我需要在 SqlTransaction 的 finally 块中调用 dispose 吗?假设开发者没有在任何地方使用 USING,只是尝试/捕获. SqlTransaction sqlTrans = con.BeginTransaction();尝试{//做工作sqlTrans.Commit()}捕获(异常前){sqlTrans.Rollback();}最后{sqlTrans.Dispose(
..
我创建了一个存储过程,它运行许多命令来修改数据.如果一切顺利,我只想提交事务.我是通过以下方式使用 try-catch 块来做到这一点的(我的 CATCH 块在实际中使用 RAISERROR 返回错误消息): 开始尝试开始交易更新表 1 SET MyVarcharColumn = 'test'更新表 2 SET MyBitColumn = 1更新表 3 SET MyIntColumn = 42提
..
我们有几个数据模式,我们调查了向 Liquibase 的迁移.(其中一个数据模式已经迁移到 Liquibase). 对我们来说重要的问题是 Liquibase 是否支持试运行: 我们需要在所有架构上运行数据库更改而无需提交以确保我们没有问题. 如果成功,所有数据库更改都会通过提交再次运行. (问题类似于这个SQL Server查询试运行但与Liquibase有关) 在答案
..