2012-05-04 15 views
2

私はLAN上で実行されるJavaアプリケーションを開発しています。私は今日テストをします。新しいデータを挿入すると、COMMIT後も他のクライアントはレコードを見ることができませんでした。MySQL + Javaのトランザクション

私はトランザクションを使用しています。つまり、トランザクションを終了するときにautoCommitモードをtrueに設定することです。

なぜコミットがautoCommitモードを元の状態に戻さなかったのですか?チュートリアルの奇妙なことは、ロールバックやコミット時にautoCommitModeが自動的にtrueに設定されるということです。

+1

他のクライアントがレコードセットをリフレッシュしましたか?レコードセットは基になるデータベースに関連付けられていないことに注意してください。 – Namphibian

+0

はい、テーブルを更新しますが、レコードが表示されません。他のクライアントがアプリケーションを閉じて再接続した場合は表示されます。 – Motasem

+0

あなたは "connection.commit();"を使用していますか?コミットをマニュアルで実行していますか? – Jaydee

答えて

0

接続が確立されると、すべての自動コミットモードの変更は常に明示的に行われます。 トランザクションのコミット/ロールバックは、自動コミット・フラグに影響しません。

他のクライアントが再接続後にレコードを見ると、その側に問題があることを意味します。

関連する問題