@@ -691,12 +691,9 @@ private Property getMappedSuperclassProperty(String propertyName, MappedSupercla
691691
692692 private <X > void populateStaticMetamodel (ManagedDomainType <X > managedType , Set <String > processedMetamodelClassName ) {
693693 final Class <X > managedTypeClass = managedType .getJavaType ();
694- if ( managedTypeClass == null ) {
695- // should indicate MAP entity mode, skip...
696- return ;
697- }
698- if ( processedMetamodelClassName .add ( metamodelClassName ( managedTypeClass ) ) ) {
699- final Class <?> metamodelClass = metamodelClass ( managedTypeClass );
694+ if ( managedTypeClass != null // can be null for MAP entity mode, so skip...
695+ && processedMetamodelClassName .add ( metamodelClassName ( managedType ) ) ) {
696+ final Class <?> metamodelClass = metamodelClass ( managedType );
700697 if ( metamodelClass != null ) {
701698 populateMetamodelClass ( managedType , metamodelClass );
702699 }
@@ -724,18 +721,23 @@ private static <X> void injectManagedType(ManagedDomainType<X> managedType, Clas
724721 }
725722 }
726723
727- private static String metamodelClassName (Class <?> managedTypeClass ) {
728- return managedTypeClass .getName () + '_' ;
724+ private static String metamodelClassName (ManagedDomainType <?> managedTypeClass ) {
725+ return managedTypeClass .getJavaType (). getName () + '_' ;
729726 }
730727
731- public Class <?> metamodelClass (Class <?> managedTypeClass ) {
732- final String metamodelClassName = metamodelClassName ( managedTypeClass );
733- try {
734- return classLoaderService .classForName ( metamodelClassName );
735- }
736- catch ( ClassLoadingException ignore ) {
728+ public Class <?> metamodelClass (ManagedDomainType <?> managedDomainType ) {
729+ if ( managedDomainType == null ) {
737730 return null ;
738731 }
732+ else {
733+ final String metamodelClassName = metamodelClassName ( managedDomainType );
734+ try {
735+ return classLoaderService .classForName ( metamodelClassName );
736+ }
737+ catch ( ClassLoadingException ignore ) {
738+ return null ;
739+ }
740+ }
739741 }
740742
741743 private <X > void registerAttributes (Class <?> metamodelClass , ManagedDomainType <X > managedType ) {
0 commit comments