private StringBuilder findAssociationPartialQuery()

in neo4j/src/main/java/org/hibernate/ogm/datastore/neo4j/dialect/impl/BaseNeo4jEntityQueries.java [367:403]


	private StringBuilder findAssociationPartialQuery(String relationshipType, AssociationKeyMetadata associationKeyMetadata) {
		StringBuilder queryBuilder = new StringBuilder( findAssociationPartialQuery );
		if ( isPartOfEmbedded( relationshipType ) ) {
			String[] path = split( relationshipType );
			int index = 0;
			for ( String embeddedRelationshipType : path ) {
				queryBuilder.append( " -[" );
				if ( index == path.length - 1 ) {
					queryBuilder.append( "r" );
				}
				queryBuilder.append( ":" );
				appendRelationshipType( queryBuilder, embeddedRelationshipType );
				queryBuilder.append( "]-> (" );
				index++;
				if ( index == path.length ) {
					queryBuilder.append( "target" );
				}
				queryBuilder.append( ":" );
				queryBuilder.append( EMBEDDED );
				queryBuilder.append( ") " );
			}
		}
		else {
			queryBuilder.append( associationKeyMetadata.isInverse() ? " <-[r:" : " -[r:" );
			appendRelationshipType( queryBuilder, relationshipType );
			queryBuilder.append( associationKeyMetadata.isInverse() ? "]- " : "]-> " );
			if ( associationKeyMetadata.getAssociationKind() == AssociationKind.ASSOCIATION ) {
				EntityKeyMetadata associatedEntityMetadata = associationKeyMetadata.getAssociatedEntityKeyMetadata().getEntityKeyMetadata();
				appendEntityNode( "target", associatedEntityMetadata, queryBuilder, 0, false );
			}
			else {
				queryBuilder.append( "(target)" );
			}
			queryBuilder.append( ' ' );
		}
		return queryBuilder;
	}