セイフティを確保するために、私はこのようなコードにアクセスするすべてのデータベース記述する必要があります:この例ではこのようなトランザクションとしてすべてのデータベースアクセスを書き込む必要がありますか?
public void updateOrder(OrderData order) throw Exception {
....
coon.setAutoCommit(false);
Statement stmt = conn.createStatement();
String sql = "update order set .... where ";
try {
stmt.executeUpdate(sql);
conn.commit();
} catch (Exception e) {
conn.rollback();
} finally {
}
}
を、私は1つのテーブルへのアクセスのみを持って、私はまだする必要がありますかトランザクションとして扱いますか?このようなトランザクションとしてすべてのデータベースアクセスを書き込む必要がありますか?
JDBC内の文は暗黙的にトランザクション内で実行されますが、唯一の違いは自動コミットの動作です。false true:false:文がコミットされず、トランザクションがアクティブでない場合は文が新しいトランザクションを開始します。 true:ステートメントは完了したときにコミットし、次のステートメントは新しいトランザクションを開始します。 –