@@ -332,24 +332,25 @@ public void setType(
332332 if ( converterDescriptor != null ) {
333333 applyJpaConverter ( value , converterDescriptor );
334334 }
335-
336- final Class <? extends UserType <?>> userTypeImpl =
337- kind .mappingAccess .customType ( value , getSourceModelContext () );
338- if ( userTypeImpl != null ) {
339- applyExplicitType ( userTypeImpl ,
340- kind .mappingAccess .customTypeParameters ( value , getSourceModelContext () ) );
341- // An explicit custom UserType has top precedence when we get to BasicValue resolution.
342- return ;
343- }
344- else if ( modelClassDetails != null ) {
345- final ClassDetails rawClassDetails = modelClassDetails .determineRawClass ();
346- final Class <?> basicClass = rawClassDetails .toJavaClass ();
347- final Class <? extends UserType <?>> registeredUserTypeImpl =
348- getMetadataCollector ().findRegisteredUserType ( basicClass );
349- if ( registeredUserTypeImpl != null ) {
350- applyExplicitType ( registeredUserTypeImpl , emptyMap () );
335+ else {
336+ final Class <? extends UserType <?>> userTypeImpl =
337+ kind .mappingAccess .customType ( value , getSourceModelContext () );
338+ if ( userTypeImpl != null ) {
339+ applyExplicitType ( userTypeImpl ,
340+ kind .mappingAccess .customTypeParameters ( value , getSourceModelContext () ) );
341+ // An explicit custom UserType has top precedence when we get to BasicValue resolution.
351342 return ;
352343 }
344+ else if ( modelClassDetails != null ) {
345+ final ClassDetails rawClassDetails = modelClassDetails .determineRawClass ();
346+ final Class <?> basicClass = rawClassDetails .toJavaClass ();
347+ final Class <? extends UserType <?>> registeredUserTypeImpl =
348+ getMetadataCollector ().findRegisteredUserType ( basicClass );
349+ if ( registeredUserTypeImpl != null ) {
350+ applyExplicitType ( registeredUserTypeImpl , emptyMap () );
351+ return ;
352+ }
353+ }
353354 }
354355
355356 switch ( kind ) {
0 commit comments