メソッドconnection.rollback()をいつ呼び出す必要があるか教えてください。接続がすでにはautoCommit = falseのモードに設定されているCOS、上記のコードでconnection.rollback()メソッドはいつ呼び出す必要がありますか?
try{
connection = getConnection();
connection.setAutoCommit(false);
pstmt1 = connection.preparedstatement (...);
...
pstt1.executeUpdate();
pstmt2 = connection.preparedstatement (...);
...
pstt2.executeUpdate();
connection.commit();
}catch (Exception sqe) { sqe.printStacktrace();
}finally {
closeQuitely (pstmt1);
closeQuitely (pstmt2);
closeQuitely (connection);
}
我々はconnection.rollbackを()を使用していないが、いくつかの例外が発生した場合、その後もすべてが[私が推測する]正常に動作します。
したがって、このメソッドを使用する必要がある場合は、どのような状況になる可能性がありますか。この例も投稿してください。
簡単な答え:プログラマは、rollback()またはcommit()を手動で呼び出すべきではありません。 – SteveD
JDBCを学ぶこと、ライブラリ/フレームワークを書くこと、またはパフォーマンスに重大なことを行うことに加えて、JDBCやJPAなどのフレームワークを使ってトランザクションや接続を自動的に処理することはお勧めしません。インタラクションを取り締まるのは簡単すぎますし、膨大な量の定型コードがあります。 – SteveD