public static Object[] getColumnsValuesFromObjectValue(Object uniqueKey, GridType gridUniqueKeyType, String[] propertyColumnNames, SharedSessionContractImplementor session) { Tuple tempResultset = new Tuple(); gridUniqueKeyType.nullSafeSet( tempResultset, uniqueKey, propertyColumnNames, session ) ; Object[] columnValuesFromResultset = LogicalPhysicalConverterHelper.getColumnValuesFromResultset( tempResultset, propertyColumnNames ); return columnValuesFromResultset; } }
/** * Removes all inverse associations managed by a given entity. */ public void removeNavigationalInformationFromInverseSide() { if ( log.isTraceEnabled() ) { log.trace( "Removing 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[] oldColumnValues = LogicalPhysicalConverterHelper.getColumnValuesFromResultset( resultset, persister.getPropertyColumnNames( propertyIndex ) ); //don't index null columns, this means no association if ( ! CollectionHelper.isEmptyOrContainsOnlyNull( oldColumnValues ) ) { removeNavigationalInformationFromInverseSide( propertyIndex, associationKeyMetadata, oldColumnValues ); } } } }
/** * Updates all inverse associations managed by a given entity. */ 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 ); } } } }
Object[] elementColumnValues = LogicalPhysicalConverterHelper.getColumnValuesFromResultset( associationRow, elementColumnNames ); Serializable entityId = (Serializable) gridTypeOfAssociatedId.nullSafeGet( associationRow, elementColumnNames, session, null );