0

SQL データベースにアクセスするために JDBC を使用して独自のデータ レイヤーをコーディングしています。主要コンポーネントの 1 つはトランザクション マネージャーです。

このコンポーネントでネストされたトランザクションをサポートするかどうか、少し混乱しています。ネストされたトランザクションのサンプル コードは次のとおりです。

tx1.begin();
... // do something with tx1
    tx2.begin();
    ... // do something with tx2
    tx2.commit();
...
tx1.commit();

過去の開発実験では、それらが必要になったことは一度もありませんでした。コードがより複雑になると思います。しかし、それらが役に立たないか有用かはわかりません。ネストされたトランザクションが必要な、または少なくとも有利なケースをいくつか挙げていただけますか? そして、それらの長所と短所は何ですか?

質問を明確にし、トランザクションの意味を説明するために、コメントを以下に貼り付けました

私はJDBCを使用しています。そのため、トランザクション マネージャーは基盤となるデータベースから独立しています。トランザクションとは、autoCommit 以外の JDBC 接続を意味します。トランザクション マネージャは、非 autoCommit 接続でトランザクション オブジェクトを返します。このトランザクションを使用するクライアント コードは、トランザクション オブジェクトをコミットすることにより、接続をコミットして閉じます。

前もって感謝します。

4

0 に答える 0