Oracle Database 12cリリース1 (12.1.0.1)のReadme情報から
JDBC仕様4.1に準拠するために、ローカル・トランザクション処理にいくつかの変更が加えられました。
setAutoCommit(true)がコールされ、ローカル・トランザクションが存在する場合、そのトランザクションは自動的にコミットされます(旧リリースでは、処理は行われませんでした)。
AUTOCOMMITモードのときにコミットまたはロールバックがコールされると、ドライバでは例外がスローされます(ここでも、旧リリースでは処理が行われませんでした)。ご使用のアプリケーションにこれらの状況が発生する可能性があり、すぐにそのソフトウェアを変更することが難しい場合があります。
Oracle JDBC Drivers READMEから
下位互換性の問題を引き起こす可能性のある意図的な変更
JDBC仕様に従って、AutoCommitがオンの場合に、commit()またはrollback()にコールすると例外がスローされます。
12R1より前は、ドライバは例外をスローしませんでしたが、これは不具合でした(詳細はOracle Bug#11891661を参照してください)。この不具合は12R1で修正されたため、AutoCommitモードがオンの場合、commit()またはrollback()にコールすると、ドライバは例外をスローします。この変更は意図的であり、Oracle JDBCドライバが仕様に準拠するための変更です。
同様に、JDBC仕様では、ローカル・トランザクションの最中にsetAutoCommitがコールされると、トランザクションがコミットされると記述されています。12R1以降、ローカル・トランザクションが検出された場合、setAutoCommitがコールされると、JDBCドライバは暗黙的コミットを発行します。
Oracle オラクル試験を受験