を元に戻すしない私は、私のDBの変更をロールバックしようとorg.springframework.jdbc DBのロールバックが状態
roollbackコードは、例外なく実行され、まだ私のDBは変更に汚れています。
私に何か不足していますか?そのコードと
final Connection dbConnection = rulesUiRepository.getConnection();
dbConnection.setAutoCommit(false);
try {
if (rulesUiRepository.updateRulesUiSnapshot(this.nonSplittedRulesSnapshot) == -1)
throw new RuntimeException("cannot save ui snapshot to DB");
...more code
} catch (Exception e) {
logger.error("transaction to update db and cofman failed", e);
//did work
//dbConnection.rollback();
throw new Exception("transaction to update db and cofman failed", e);
} finally {
//or
if (dbConnection != null) {
dbConnection.close();
}
}
:
public synchronized void rollback() throws SQLException {
try {
this.txn_known_resolved = true;
this.inner.rollback();
} catch (NullPointerException var2) {
if(this.isDetached()) {
throw SqlUtils.toSQLException("You can't operate on a closed Connection!!!", var2);
} else {
throw var2;
}
} catch (Exception var3) {
if(!this.isDetached()) {
throw this.parentPooledConnection.handleThrowable(var3);
} else {
throw SqlUtils.toSQLException(var3);
}
}
}
なぜロールバックがコメントアウトされていますか?あなたのデータベースは何ですか?実際のコードは何を接続していますか?実行前と実行後の状態は何ですか?問題を再現した完全な最小例を投稿してください。あまりにも多くの未知数がここにあります。 –
なぜロールバックはコメントアウトされていますか?それは私のために働かなかったので あなたのデータベースは何ですか? org.springframework.jdbc DBロールバックで状態が元に戻りません –