我可以在单个连接上创建支持多个数据库事务吗?

时间:2011-01-14 02:47:26

标签: database jdbc database-connection hsqldb

我创建了一个HyperSQL数据库。我只是想知道我是否可以在一个连接上运行多个事务。由于与此相关的开销,我不想为每个事务生成新连接。

看一些类似的问题,建议似乎是创建一个数据库连接池,然后阻止等待一个人可用。这是一个可行但不可取的解决方案。

背景信息(如果这与答案相关)。当某个请求进入时,我的应用程序将创建一个新线程。此请求将需要数据库事务。然后一些不是无关紧要的时间,这笔交易将被提交。

任何建议表示赞赏:)

2 个答案:

答案 0 :(得分:2)

您应该能够通过单个连接运行多个事务,它们只需要一次运行一个,因此您必须排队或堆栈它们并在事务发生时阻塞。您通常无法通过单个连接并行运行查询。

答案 1 :(得分:1)

绝对没有。每个“事务”必须具有开始,完成或回滚。当然,您可以将单个事务分成一行原始事务的某些部分。不多也不少。