From e48ec4fcd333a3f2149f8966b367e51322d9ff90 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 29 Dec 2015 11:19:21 +0100 Subject: [PATCH] StatementCreatorUtils always tries getParameterType on Oracle 12c driver Issue: SPR-13825 --- .../springframework/jdbc/core/StatementCreatorUtils.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCreatorUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCreatorUtils.java index 9d1fdd7e8a..4aed272b13 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCreatorUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCreatorUtils.java @@ -277,7 +277,11 @@ public abstract class StatementCreatorUtils { if (jdbcDriverName == null) { jdbcDriverName = dbmd.getDriverName(); } - if (checkGetParameterType) { + if (checkGetParameterType && + !(jdbcDriverName.startsWith("Oracle") && dbmd.getDriverMajorVersion() >= 12)) { + // Register JDBC driver with no support for getParameterType, except for the + // Oracle 12c driver where getParameterType fails for specific statements only + // (so an exception thrown above does not indicate general lack of support). driversWithNoSupportForGetParameterType.add(jdbcDriverName); } String databaseProductName = dbmd.getDatabaseProductName();