public void collectQuerySpaces(Collection<String> spaces) { for ( EntityPersister persister : alias2Persister.values() ) { Collections.addAll( spaces, (String[]) persister.getQuerySpaces() ); } for ( CollectionPersister persister : alias2CollectionPersister.values() ) { final Type elementType = persister.getElementType(); if ( elementType.isEntityType() && ! elementType.isAnyType() ) { final Joinable joinable = ( (EntityType) elementType ).getAssociatedJoinable( factory ); Collections.addAll( spaces, (String[]) ( (EntityPersister) joinable ).getQuerySpaces() ); } } } }
@Override public String getOnCondition( String alias, SessionFactoryImplementor factory, Map enabledFilters, Set<String> treatAsDeclarations) { if ( isReferenceToPrimaryKey() && ( treatAsDeclarations == null || treatAsDeclarations.isEmpty() ) ) { return ""; } else { return getAssociatedJoinable( factory ).filterFragment( alias, enabledFilters, treatAsDeclarations ); } }
final AbstractEntityPersister joinable = (AbstractEntityPersister) entityType.getAssociatedJoinable(factory);
private static String[] determineRhsColumnNames(EntityType entityType, SessionFactoryImplementor sessionFactory) { final Joinable persister = entityType.getAssociatedJoinable( sessionFactory ); return entityType.getRHSUniqueKeyPropertyName() == null ? persister.getKeyColumnNames() : ( (PropertyMapping) persister ).toColumns( entityType.getRHSUniqueKeyPropertyName() ); } }
private EntityReferenceAliases createCollectionElementAliases( CollectionPersister collectionPersister, String tableAlias, String elementQuerySpaceUid) { if ( !collectionPersister.getElementType().isEntityType() ) { return null; } else { final EntityType entityElementType = (EntityType) collectionPersister.getElementType(); return generateEntityReferenceAliases( elementQuerySpaceUid, tableAlias, (EntityPersister) entityElementType.getAssociatedJoinable( sessionFactory() ) ); } }
Queryable elementPersister = (Queryable) ( (EntityType) elementType ).getAssociatedJoinable( factory ); entityPersisters.add( elementPersister ); entityOwners.add( -1 ); Queryable elementPersister = (Queryable) ( (EntityType) elementType ).getAssociatedJoinable( factory ); entityPersisters.add( elementPersister ); entityOwners.add( ownerIndex );
final EntityPersister indexEntityPersister = (EntityPersister) indexEntityType.getAssociatedJoinable( sf );
public String getOnCondition(String alias, SessionFactoryImplementor factory, Map enabledFilters) throws MappingException { if ( isReferenceToPrimaryKey() ) { //TODO: this is a bit arbitrary, expose a switch to the user? return ""; } else { return getAssociatedJoinable( factory ).filterFragment( alias, enabledFilters ); } }
public String getOnCondition(String alias, SessionFactoryImplementor factory, Map enabledFilters) throws MappingException { if ( isReferenceToPrimaryKey() ) { //TODO: this is a bit arbitrary, expose a switch to the user? return ""; } else { return getAssociatedJoinable(factory).filterFragment(alias, enabledFilters); } }
public String getOnCondition(String alias, SessionFactoryImplementor factory, Map enabledFilters) throws MappingException { if ( isReferenceToPrimaryKey() ) { //TODO: this is a bit arbitrary, expose a switch to the user? return ""; } else { return getAssociatedJoinable( factory ).filterFragment( alias, enabledFilters ); } }
public String getOnCondition(String alias, SessionFactoryImplementor factory, Map enabledFilters) throws MappingException { if ( isReferenceToPrimaryKey() ) { //TODO: this is a bit arbitrary, expose a switch to the user? return ""; } else { return getAssociatedJoinable( factory ).filterFragment( alias, enabledFilters ); } }
private GridType getUniqueKeyTypeFromAssociatedEntity(int propertyIndex, String propertyName) { GridType gridUniqueKeyType;//get the unique key type and if it's an entity type, get it's identifier type final Type uniqueKeyType = getPropertyTypes()[propertyIndex]; if ( uniqueKeyType.isEntityType() ) { //we run under the assumption that we are fully in an OGM world EntityType entityType = (EntityType) uniqueKeyType; final OgmEntityPersister entityPersister = (OgmEntityPersister) entityType.getAssociatedJoinable( getFactory() ); gridUniqueKeyType = entityPersister.getGridIdentifierType(); } else { throw new AssertionFailure( "loadByUniqueKey on a non EntityType:" + propertyName ); } return gridUniqueKeyType; }
Queryable elementPersister = ( Queryable ) ( ( EntityType ) elementType ).getAssociatedJoinable( factory ); entityPersisters.add( elementPersister ); entityOwners.add( -1 ); Queryable elementPersister = ( Queryable ) ( ( EntityType ) elementType ).getAssociatedJoinable( factory ); entityPersisters.add( elementPersister ); entityOwners.add( ownerIndex );
Queryable elementPersister = ( Queryable ) ( ( EntityType ) elementType ).getAssociatedJoinable( factory ); entityPersisters.add( elementPersister ); entityOwners.add( -1 ); Queryable elementPersister = ( Queryable ) ( ( EntityType ) elementType ).getAssociatedJoinable( factory ); entityPersisters.add( elementPersister ); entityOwners.add( ownerIndex );
private Map<String, AssociationKeyMetadata> initInverseOneToOneAssociationKeyMetadata() { Map<String, AssociationKeyMetadata> associationKeyMetadata = new HashMap<String, AssociationKeyMetadata>(); for ( String property : getPropertyNames() ) { Type propertyType = getPropertyType( property ); if ( !propertyType.isEntityType() ) { continue; } String[] propertyColumnNames = getPropertyColumnNames( getPropertyIndex( property ) ); String[] rowKeyColumnNames = buildRowKeyColumnNamesForStarToOne( this, propertyColumnNames ); OgmEntityPersister otherSidePersister = (OgmEntityPersister) ( (EntityType) propertyType ).getAssociatedJoinable( getFactory() ); String inverseOneToOneProperty = getInverseOneToOneProperty( property, otherSidePersister ); if ( inverseOneToOneProperty != null ) { AssociationKeyMetadata metadata = new DefaultAssociationKeyMetadata.Builder() .table( getTableName() ) .columnNames( propertyColumnNames ) .rowKeyColumnNames( rowKeyColumnNames ) .entityKeyMetadata( otherSidePersister.getEntityKeyMetadata() ) .associatedEntityKeyMetadata( new DefaultAssociatedEntityKeyMetadata( entityKeyMetadata.getColumnNames(), entityKeyMetadata ) ) .inverse( true ) .collectionRole( inverseOneToOneProperty ) .associationKind( AssociationKind.ASSOCIATION ) .associationType( org.hibernate.ogm.model.key.spi.AssociationType.ONE_TO_ONE ) .build(); associationKeyMetadata.put( property, metadata ); } } return associationKeyMetadata; }
OgmEntityPersister inversePersister = (OgmEntityPersister) ( (EntityType) getPropertyTypes()[propertyIndex] ).getAssociatedJoinable( session.getFactory() );