我使用spring 2.4.2和webflux连接到postgres数据库。我在使用@Transactional时观察到了一种我不理解的行为。为了展示这种行为,我创建了一个示例应用程序,尝试将行添加到两个表:表"a“和表"b”。“插入到”表"a“将因重复的键冲突而失败。考虑到使用了事务性,我希望不会向表"b“中添加任何行。();DemoService看起来是这样的:
public M
它所显示的行为(即异常将从事件处理程序中传播出去)是什么“好东西”?据我所知,它只能是糟糕的;函数会突然出现意外的异常,而在我的特殊情况下,它会杀死线程。那么,在某些情况下,这种行为真的是一件好事吗?static class Program { { foo.SomeEvent; }
static void
在使用SQL Server 2012上的TSQLUNIT测试update/insert存储过程时,我注意到了一些奇怪的事情。当我调用Exec tsu_RunTests时,我的测试过程会运行,但会出现意外行为。调用我的原始存储过程的代码中的行将被执行,但不会像预期的那样对数据库表进行实际更新或插入。这种行为有正当的理由吗?我注意到,当我在测试过程之外执行相同的原始存储过程时,它工作得很好。