2011-01-14 9 views
1

私はHyperSQLデータベースを作成しました。私は単なる接続で複数のトランザクションを実行できるかどうかは疑問でした。私は、これに関連するオーバーヘッドのために、各トランザクションの新しい接続を生成したくなかった。1回の接続で複数のデータベーストランザクションをサポートできますか?

類似の質問を見ると、データベース接続のプールを作成し、利用可能になるのを待つのをブロックするように思われます。これは実行可能ですが、望ましい解決策ではありません。

バックグラウンド情報(これが回答に関連する場合)私のアプリケーションは、リクエストが来たら新しいスレッドを作成します。このリクエストにはデータベーストランザクションが必要です。その後、この取引は後でコミットされます。

何かアドバイス感謝:)

答えて

1

あなたは、単一のあなたがそれらをキューまたはスタックする必要がありますので、彼らはただ一度に実行する必要があります接続、などのブロックの上に複数のトランザクションを実行することができますトランザクションが発生します。一般的に、1回の接続ではクエリを並行して実行することはできません。

+0

どうやってできますか?サンプルコードを追加できますか? – eatSleepCode

1

絶対にありません。すべての「トランザクション」には、開始、完了、またはロールバックが必要です。もちろん、元のトランザクションの1行に1つのトランザクションをいくつかの部分に分けることができます。もはやそれ以下ではありません。

+0

単一のjdbc接続で複数のトランザクションにNoと言うのですか?それが不可能でないと言うなら、あなたの答えは@zelioの答えと矛盾しています。 – eatSleepCode

関連する問題