public void addNavigationalInformationForInverseSide ( ) { if ( log . isTraceEnabled ( ) ) { log . trace ( "Adding inverse navigational information for entity: " + MessageHelper . infoString ( persister , id , persister . getFactory ( ) ) ) ; } for ( int propertyIndex = 0 ; propertyIndex < persister . getEntityMetamodel ( ) . getPropertySpan ( ) ; propertyIndex ++ ) { if ( persister . isPropertyOfTable ( propertyIndex , tableIndex ) ) { AssociationKeyMetadata associationKeyMetadata = getInverseAssociationKeyMetadata ( propertyIndex ) ; // there is no inverse association for the given property if ( associationKeyMetadata == null ) { continue ; } Object [ ] newColumnValues = LogicalPhysicalConverterHelper . getColumnValuesFromResultset ( resultset , persister . getPropertyColumnNames ( propertyIndex ) ) ; //don't index null columns, this means no association if ( ! CollectionHelper . isEmptyOrContainsOnlyNull ( ( newColumnValues ) ) ) { addNavigationalInformationForInverseSide ( propertyIndex , associationKeyMetadata , newColumnValues ) ; } } } }
Updates all inverse associations managed by a given entity .