diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java index b707d6d31501..c8295860ac5b 100755 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -355,7 +355,7 @@ protected List reconcileParameters(List parameters) logger.debug("Using declared out parameter '" + paramName + "' for function return value"); } - setFunctionReturnName(paramName); + this.actualFunctionReturnName = paramName; returnDeclared = true; } } @@ -393,8 +393,8 @@ protected List reconcileParameters(List parameters) "Unable to locate declared parameter for function return value - " + " add an SqlOutParameter with name '" + getFunctionReturnName() + "'"); } - else if (paramName != null) { - setFunctionReturnName(paramName); + else { + this.actualFunctionReturnName = param.getName(); } } else { @@ -422,7 +422,7 @@ else if (paramName != null) { (StringUtils.hasLength(paramNameToUse) ? paramNameToUse : getFunctionReturnName()); workParams.add(provider.createDefaultOutParameter(returnNameToUse, meta)); if (isFunction()) { - setFunctionReturnName(returnNameToUse); + this.actualFunctionReturnName = returnNameToUse; outParamNames.add(returnNameToUse); } if (logger.isDebugEnabled()) {