diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/Binder.java b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/Binder.java index adfa0aa28c..30b5f8b9fc 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/Binder.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/source/Binder.java @@ -602,7 +602,12 @@ else if ( attributeSource.getNature() == SingularAttributeNature.MANY_TO_ONE ) { attributeSource.getReferencedEntityAttributeName(), relationalValueBindings ); - final String referencedEntityName = attributeSource.getReferencedEntityName(); + resolveTypeInformation( attributeSource.getTypeInformation(), attributeBinding ); + resolveToOneInformation( + attributeSource, + (ManyToOneAttributeBinding) attributeBinding + ); + final String referencedEntityName = attributeBinding.getReferencedEntityName(); EntityBinding referencedEntityBinding = getEntityBinding( referencedEntityName ); if ( referencedEntityBinding == null ) { EntitySource source = sourcesByName.get( referencedEntityName ); @@ -613,12 +618,6 @@ else if ( attributeSource.getNature() == SingularAttributeNature.MANY_TO_ONE ) { : referencedEntityBinding.getHierarchyDetails().getEntityIdentifier().getValueBinding(); attributeBinding.resolveReference( referencedAttrBinding ); referencedAttrBinding.addEntityReferencingAttributeBinding( attributeBinding ); - - resolveTypeInformation( attributeSource.getTypeInformation(), attributeBinding ); - resolveToOneInformation( - attributeSource, - (ManyToOneAttributeBinding) attributeBinding - ); } else { throw new NotYetImplementedException();