@@ -462,23 +462,13 @@ public ProcedureCallImplementor<R> registerStoredProcedureParameter(
462462 public <T > ProcedureParameter <T > registerParameter (int position , Class <T > javaType , ParameterMode mode ) {
463463 final BindableType <T > parameterType = getSessionFactory ().resolveParameterBindType ( javaType );
464464
465- final Class <T > expressibleJavaType ;
466- if ( parameterType == null ) {
467- expressibleJavaType = null ;
468- }
469- else {
470- final SqmExpressible <T > sqmExpressible = parameterType .resolveExpressible ( getSessionFactory () );
471- assert sqmExpressible != null ;
472-
473- expressibleJavaType = sqmExpressible .getExpressibleJavaType ().getJavaTypeClass ();
474- }
475-
476465 final ProcedureParameterImpl <T > procedureParameter = new ProcedureParameterImpl <>(
477466 position ,
478467 mode ,
479- expressibleJavaType ,
468+ getExpressibleJavaType ( parameterType ) ,
480469 parameterType
481470 );
471+
482472 registerParameter ( procedureParameter );
483473
484474 return procedureParameter ;
@@ -518,7 +508,7 @@ public <T> ProcedureParameterImplementor<T> registerParameter(String name, Class
518508 final ProcedureParameterImpl <T > parameter = new ProcedureParameterImpl <>(
519509 name ,
520510 mode ,
521- parameterType . getBindableJavaType ( ),
511+ getExpressibleJavaType ( parameterType ),
522512 parameterType
523513 );
524514
@@ -527,6 +517,18 @@ public <T> ProcedureParameterImplementor<T> registerParameter(String name, Class
527517 return parameter ;
528518 }
529519
520+ private <T > Class <T > getExpressibleJavaType (BindableType <T > parameterType ) {
521+ if ( parameterType == null ) {
522+ return null ;
523+ }
524+ else {
525+ final SqmExpressible <T > sqmExpressible = parameterType .resolveExpressible ( getSessionFactory () );
526+ assert sqmExpressible != null ;
527+
528+ return sqmExpressible .getExpressibleJavaType ().getJavaTypeClass ();
529+ }
530+ }
531+
530532 @ Override
531533 public <T > ProcedureParameterImplementor <T > registerParameter (
532534 String name ,
0 commit comments