ホームページ  >  記事  >  Java  >  JAVA はなぜトランザクションを使用するのですか?

JAVA はなぜトランザクションを使用するのですか?

anonymity
anonymityオリジナル
2019-05-05 12:23:484039ブラウズ

JAVA はなぜトランザクションを使用するのですか?

#トランザクションとは何ですか?

トランザクションは一般に、実行または実行される何かを指します。コンピュータ用語では、データベース内のさまざまなデータ項目にアクセスし、場合によっては更新するプログラム実行ユニット (ユニット) を指します。トランザクションは通常、高レベルのデータベース操作言語またはプログラミング言語 (SQL、C、Java など) で記述されたユーザー プログラムの実行によって発生し、begintransaction の形式のステートメント (または関数呼び出し) によって定義されます。そして取引を終了します。トランザクションは、トランザクションの開始から終了までの間に実行されるすべての操作で構成されます。

なぜトランザクションが必要なのでしょうか?

トランザクションはデータ セキュリティ操作を解決するために提案されており、トランザクション制御は実際にはデータへの安全なアクセスを制御することです。

簡単な例を使用してみましょう。銀行振込ビジネスの場合、口座 A は自分の口座から口座 B に 1,000 元を送金したいと考えています。まず口座 A の残高から 1,000 元を差し引いてから、口座 A の残高を差し引く必要があります。アカウント B は 1,000 元増額する必要があります。中間ネットワークに問題が発生し、A の口座からの 1,000 元の引き落としが終了し、ネットワークの中断により B の運営が失敗した場合、ビジネス全体が失敗し、キャンセルを要求するように制御する必要があります。 Aさんの口座の振込業務。これにより、ビジネスの正確性を確保できます。この操作を完了するには、トランザクションが必要です。アカウント A の資金の減少とアカウント B の資金の増加を同じトランザクションに入れます。すべてが正常に実行されるか、すべてがキャンセルされます。したがって、データのセキュリティが確保されます。

トランザクション (ACID) の 4 つの特性:

1) アトミック性: トランザクションはデータベースの作業の論理単位であり、トランザクションのアトミック単位である必要があります。 work. のデータ変更については、すべてが実行されるか、まったく実行されないかのどちらかです。

2) 一貫性: トランザクションが完了すると、すべてのデータが一貫している必要があります。関連するデータベースでは、すべてのデータの整合性を維持するために、トランザクションの変更にすべてのルールを適用する必要があります。 (例: 転送、2 つの口座の残高が加算され、値は変更されません。)

3) 分離: トランザクションの実行は他のトランザクションの影響を受けることはありません。

4) 耐久性: トランザクションが送信されると、トランザクションの操作は DB に永続的に保存されます。データベースシステムに障害が発生した場合でも、トランザクションのコミット操作は失われません。

Java には何種類のトランザクションがありますか?

Java トランザクションには、JDBC トランザクション、JTA (Java Transaction API) トランザクション、コンテナ トランザクションの 3 種類があります。

以上がJAVA はなぜトランザクションを使用するのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。