私は、あらゆる種類のデータベースで動作する一般的な jdbc コードを持っています。トランザクションとセーブポイントで動作する API がいくつかあります。
問題は、一部のデータベースではセーブポイントを手動で解放する必要があることです
conn.releaseSavepoint(savepoint1)
また、手動リリースを行うときに例外をスローするものもあります (最も顕著なのは Oracle)。
データベースに自動セーブポイントのリリースがあるかどうか、または手動で行う必要があるかどうかを実行時に確認するにはどうすればよいですか。そしてpls、私はいくつかの素晴らしいAPIを持っています。私は例外をキャッチしたくありません。この場合、それは醜く、エラーが発生しやすいです。スローされる例外はjava.sql.SqlExceptionであり、「FeatureUnsupportedException」のようなものではありません。したがって、実際のエラーがあり、愚かにもそれを見つけた場合、トランザクション全体で完全に失敗する可能性があります。
ありがとう