我刚刚阅读了《精通EJB 3.0》的事务章节(第10章),现在我对于嵌套事务感到困惑。 这本书中说: "EJB定义的事务管理器不支持嵌套事务;它只支持扁平事务。"(第278页,注) 不仅这本书这样描述,我还在其他书籍/网站上找到了类似的说法。 但如果我从一个“Required”...
我从来不明白嵌套事务有什么用。提交嵌套事务并没有提交任何内容 - 它只是减少了@@TRANCOUNT。而且ROLLBACK会回滚所有的内容。BEGIN TRANSACTION //do an update BEGIN TRANSACTION //do an insert ...
我有一个存储过程,需要设置保存点(save point)以便在某些情况下撤消所有操作并向调用者返回错误代码,或接受/提交(accept/commit)操作并向调用者返回成功。但我需要它能够在调用者已经开始事务或尚未开始事务的情况下工作。文档对这个问题非常混乱。以下是我认为会起作用的方法,但我不...
我一直在整理SQL Server中的嵌套事务问题,并且我已经掌握了这些关于嵌套事务行为的理解要点: 当嵌套事务时,只有最外层的提交会实际提交。 "Commit Trans txn_name" 在嵌套情况下,将始终应用于最内部的事务,即使txn_name指向外部事务也是如此。 "ROLLBA...
为什么JTA不支持嵌套事务?是因为实现它们很复杂(我怀疑这一点),还是因为某些设计原则?
我正在使用:public class TransactionUtils { public static TransactionScope CreateTransactionScope() { var TransactionOptions = new Transa...
我有一个带有@Service注解的类,其中有一个@Transactional方法,该方法调用了另一个服务上的另一个@Transactional方法。大概就是这样: @Service public class AService { @Autowired BService b; @A...
我有一个类似于如何检查是否在事务中的问题。与其进行检查,我该如何允许嵌套事务? 我正在使用Microsoft SQL Server数据库和ADO.NET。我看到过使用T-SQL和使用begin以及使用事务名称启动事务的示例。当调用connection.BeginTransaction时,我在...