@@ -641,10 +641,11 @@ public <T> QueryParameterImplementor<T> getParameter(String name, Class<T> type)
641641 checkOpenNoRollback ();
642642 try {
643643 final var parameter = getParameterMetadata ().getQueryParameter ( name );
644- if ( !type .isAssignableFrom ( parameter .getParameterType () ) ) {
644+ final var parameterType = parameter .getParameterType ();
645+ if ( !type .isAssignableFrom ( parameterType ) ) {
645646 throw new IllegalArgumentException (
646647 "Type specified for parameter named '" + name + "' is incompatible"
647- + " (" + parameter . getParameterType () .getName () + " is not assignable to " + type .getName () + ")"
648+ + " (" + parameterType .getName () + " is not assignable to " + type .getName () + ")"
648649 );
649650 }
650651 @ SuppressWarnings ("unchecked" ) // safe, just checked
@@ -670,10 +671,11 @@ public <T> QueryParameterImplementor<T> getParameter(int position, Class<T> type
670671 checkOpenNoRollback ();
671672 try {
672673 final var parameter = getParameterMetadata ().getQueryParameter ( position );
673- if ( !type .isAssignableFrom ( parameter .getParameterType () ) ) {
674+ final var parameterType = parameter .getParameterType ();
675+ if ( !type .isAssignableFrom ( parameterType ) ) {
674676 throw new IllegalArgumentException (
675677 "Type specified for parameter at position " + position + " is incompatible"
676- + " (" + parameter . getParameterType () .getName () + " is not assignable to " + type .getName () + ")"
678+ + " (" + parameterType .getName () + " is not assignable to " + type .getName () + ")"
677679 );
678680 }
679681 @ SuppressWarnings ("unchecked" ) // safe, just checked
@@ -702,11 +704,16 @@ protected <P> QueryParameterBinding<P> locateBinding(Parameter<P> parameter, P v
702704 if ( parameter instanceof QueryParameterImplementor <P > parameterImplementor ) {
703705 return locateBinding ( parameterImplementor );
704706 }
705- else if ( parameter .getName () != null ) {
706- return locateBinding ( parameter .getName (), parameter .getParameterType (), value );
707- }
708- else if ( parameter .getPosition () != null ) {
709- return locateBinding ( parameter .getPosition (), parameter .getParameterType (), value );
707+ else {
708+ final String name = parameter .getName ();
709+ final Integer position = parameter .getPosition ();
710+ final var parameterType = parameter .getParameterType ();
711+ if ( name != null ) {
712+ return locateBinding ( name , parameterType , value );
713+ }
714+ else if ( position != null ) {
715+ return locateBinding ( position , parameterType , value );
716+ }
710717 }
711718
712719 throw getExceptionConverter ().convert (
@@ -718,11 +725,16 @@ protected <P> QueryParameterBinding<P> locateBinding(Parameter<P> parameter, Col
718725 if ( parameter instanceof QueryParameterImplementor <P > parameterImplementor ) {
719726 return locateBinding ( parameterImplementor );
720727 }
721- else if ( parameter .getName () != null ) {
722- return locateBinding ( parameter .getName (), parameter .getParameterType (), values );
723- }
724- else if ( parameter .getPosition () != null ) {
725- return locateBinding ( parameter .getPosition (), parameter .getParameterType (), values );
728+ else {
729+ final String name = parameter .getName ();
730+ final Integer position = parameter .getPosition ();
731+ final var parameterType = parameter .getParameterType ();
732+ if ( name != null ) {
733+ return locateBinding ( name , parameterType , values );
734+ }
735+ else if ( position != null ) {
736+ return locateBinding ( position , parameterType , values );
737+ }
726738 }
727739
728740 throw getExceptionConverter ().convert (
@@ -732,7 +744,8 @@ else if ( parameter.getPosition() != null ) {
732744
733745 protected <P > QueryParameterBinding <P > locateBinding (QueryParameterImplementor <P > parameter ) {
734746 getCheckOpen ();
735- return getQueryParameterBindings ().getBinding ( getQueryParameter ( parameter ) );
747+ return getQueryParameterBindings ()
748+ .getBinding ( getQueryParameter ( parameter ) );
736749 }
737750
738751 protected <P > QueryParameterBinding <P > locateBinding (String name , Class <P > javaType , P value ) {
0 commit comments