可以在一个JDBC连接中有两个并发事务吗?

cev*_*ing 4 java database oracle transactions jdbc

现在我有两个对象在自动提交模式下共享与Oracle数据库的数据库连接.但是现在两个对象都需要启动自己的事务才能完成工作.

结果是什么?

是否有必要为每个对象提供自己的连接以便进行并发事务,或者是否可以保持代码不变并对两个并发事务使用相同的连接?

如果我有10000个对象而不是2个,那么最佳实践是什么?如果每个对象都可以启动事务,我需要多少个数据库连接.我需要10000个数据库连接吗?

rol*_*lfl 9

一个连接上不可能有两个事务.除了Connection中任何潜在的线程问题之外,只有一个commit()方法,它提交自上次提交/回滚以来的所有活动,无论它们来自哪个对象.

如果需要两个事务,请使用两个连接.

如果您有1000个对象,则使用连接池来合理化与数据库的活动连接数.