我使用JDBC编写自己的数据层来访问SQL数据库,其中一个主要组件是事务管理器。
我是否支持此组件中的嵌套事务有点困惑。嵌套事务的示例代码如下:
tx1.begin();
... // do something with tx1
tx2.begin();
... // do something with tx2
tx2.commit();
...
tx1.commit();
在我过去的开发实验中,我从未需要它们,我认为它们使代码更复杂。但是,我不确定它们是无用的还是有用的。您能举例说明需要嵌套事务或至少有利的案例吗?它们的优点和缺点是什么?
为澄清我的问题并解释交易的含义,我在下面粘贴了我的评论:
我正在使用JDBC。因此,事务管理器独立于底层数据库。通过事务,我的意思是非autoCommit JDBC连接。事务管理器返回具有非autoCommit连接的事务对象。使用此transcaction的客户端代码,通过提交事务对象来提交和关闭连接。
提前致谢。