我有适用于各种数据库的通用 jdbc 代码。我有一些适用于事务和保存点的 api。
问题是某些数据库要求您手动释放保存点
conn.releaseSavepoint(savepoint1)
有些只是在您进行手动发布时抛出异常(最值得注意的是 Oracle)。
我如何在运行时检查数据库是否具有自动保存点释放或者我是否需要手动进行。并且请,我有一些不错的 api。我不想捕获异常,在这种情况下它很丑陋且容易出错。抛出的异常是java.sql.SqlException,而不是“FeatureUnsupportedException”之类的。因此,如果有一个真正的错误并且我愚蠢地抓住了它,那么我可能会在整个交易过程中完全失败。
谢谢