@SuppressWarnings("WeakerAccess") protected void addSynchronizedQuerySpaces(EntityPersister persister) { synchronizedQuerySpaces().addAll( Arrays.asList( (String[]) persister.getQuerySpaces() ) ); }
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 NativeQueryImplementor<T> addSynchronizedEntityClass(Class entityClass) throws MappingException { addQuerySpaces( getProducer().getFactory().getMetamodel().entityPersister( entityClass.getName() ).getQuerySpaces() ); return this; }
/** * Resolve the given result classes * * @param context The context for the resolution. See {@link ResultSetMappingResolutionContext} * @param resultClasses The Classes to which the results should be mapped */ public static void resolveResultClasses(ResultClassesResolutionContext context, Class... resultClasses) { int i = 0; for ( Class resultClass : resultClasses ) { context.addQueryReturns( new NativeSQLQueryRootReturn( "alias" + (++i), resultClass.getName(), LockMode.READ ) ); try { final EntityPersister persister = context.getSessionFactory().getEntityPersister( resultClass.getName() ); context.addQuerySpaces( (String[]) persister.getQuerySpaces() ); } catch (Exception ignore) { } } } }
@Override public NativeQueryImplementor<T> addSynchronizedEntityName(String entityName) throws MappingException { addQuerySpaces( getProducer().getFactory().getMetamodel().entityPersister( entityName ).getQuerySpaces() ); return this; }
if ( !entityPersister.isMutable() ) { List<Serializable> entityQuerySpaces = new ArrayList<>( Arrays.asList( entityPersister.getQuerySpaces() ) ); boolean matching = false;
final String[] entitySpaces = (String[]) persister.getQuerySpaces(); if ( affectedEntity( tableSpaces, entitySpaces ) ) { spacesList.addAll( Arrays.asList( entitySpaces ) );
private void handleElements(FromReferenceNode collectionNode, String propertyName) { FromElement collectionFromElement = collectionNode.getFromElement(); QueryableCollection queryableCollection = collectionFromElement.getQueryableCollection(); String path = collectionNode.getPath() + "[]." + propertyName; LOG.debugf( "Creating elements for %s", path ); fromElement = collectionFromElement; if ( !collectionFromElement.isCollectionOfValuesOrComponents() ) { getWalker().addQuerySpaces( queryableCollection.getElementPersister().getQuerySpaces() ); } setDataType( queryableCollection.getElementType() ); selectColumns = collectionFromElement.toColumns( fromElement.getTableAlias(), propertyName, inSelect ); }
FromElement addFromElement() throws SemanticException { final FromClause parentFromClause = fromClause.getParentFromClause(); if ( parentFromClause != null ) { // Look up class name using the first identifier in the path. final String pathAlias = PathHelper.getAlias( path ); final FromElement parentFromElement = parentFromClause.getFromElement( pathAlias ); if ( parentFromElement != null ) { return createFromElementInSubselect( path, pathAlias, parentFromElement, classAlias ); } } final EntityPersister entityPersister = fromClause.getSessionFactoryHelper().requireClassPersister( path ); final FromElement elem = createAndAddFromElement( path, classAlias, entityPersister, (EntityType) ( (Queryable) entityPersister ).getType(), null ); // Add to the query spaces. fromClause.getWalker().addQuerySpaces( entityPersister.getQuerySpaces() ); return elem; }
fromClause.getWalker().addQuerySpaces( entityPersister.getQuerySpaces() );
fromClause.getWalker().addQuerySpaces( entityPersister.getQuerySpaces() );
join.setUseWhereFragment( collectionFromElement.useWhereFragment() ); walker.addQuerySpaces( indexEntityPersister.getQuerySpaces() );
int numberOfTables = entityPersister.getQuerySpaces().length; if ( numberOfTables > 1 && implied && !elem.useFromFragment() ) { LOG.debug( "createEntityJoin() : Implied multi-table entity join" );
EntityPersister entityPersister = elem.getEntityPersister(); if ( entityPersister != null ) { getWalker().addQuerySpaces( entityPersister.getQuerySpaces() );
getWalker().addQuerySpaces( elem.getEntityPersister().getQuerySpaces() );
private OgmEntityPersister entityPersister(String querySpace, MetamodelImplementor metamodelImplementor) { for ( Map.Entry<String, EntityPersister> entry : metamodelImplementor.entityPersisters().entrySet() ) { List<Serializable> querySpaces = Arrays.asList( entry.getValue().getQuerySpaces() ); if ( querySpaces.contains( querySpace ) ) { return (OgmEntityPersister) entry.getValue(); } } return null; }
private EntityMetadataInformation entityMetadataInfo(String querySpace, MetamodelImplementor metamodelImplementor, OgmEntityPersister entityPersister) { String entityName = null; for ( Map.Entry<String, EntityPersister> entry : metamodelImplementor.entityPersisters().entrySet() ) { List<Serializable> querySpaces = Arrays.asList( entry.getValue().getQuerySpaces() ); if ( querySpaces.contains( querySpace ) ) { entityName = entry.getKey(); } } EntityKeyMetadata entityKeyMetadata = entityPersister.getEntityKeyMetadata(); EntityMetadataInformation entityMetadata = new EntityMetadataInformation( entityKeyMetadata, entityName ); return entityMetadata; }
private void handleElements(FromReferenceNode collectionNode, String propertyName) { FromElement collectionFromElement = collectionNode.getFromElement(); QueryableCollection queryableCollection = collectionFromElement.getQueryableCollection(); String path = collectionNode.getPath() + "[]." + propertyName; log.debug( "Creating elements for " + path ); fromElement = collectionFromElement; if ( !collectionFromElement.isCollectionOfValuesOrComponents() ) { getWalker().addQuerySpaces( queryableCollection.getElementPersister().getQuerySpaces() ); } setDataType( queryableCollection.getElementType() ); selectColumns = collectionFromElement.toColumns( fromElement.getTableAlias(), propertyName, inSelect ); }
private void handleElements(FromReferenceNode collectionNode, String propertyName) throws SemanticException { FromElement collectionFromElement = collectionNode.getFromElement(); QueryableCollection queryableCollection = collectionFromElement.getQueryableCollection(); String path = collectionNode.getPath() + "[]." + propertyName; log.debug( "Creating elements for " + path ); fromElement = collectionFromElement; if ( !collectionFromElement.isCollectionOfValuesOrComponents() ) { getWalker().addQuerySpaces( queryableCollection.getElementPersister().getQuerySpaces() ); } setDataType( queryableCollection.getElementType() ); selectColumns = collectionFromElement.toColumns( fromElement.getTableAlias(), propertyName, inSelect ); }
private void handleElements(FromReferenceNode collectionNode, String propertyName) { FromElement collectionFromElement = collectionNode.getFromElement(); QueryableCollection queryableCollection = collectionFromElement.getQueryableCollection(); String path = collectionNode.getPath() + "[]." + propertyName; LOG.debugf( "Creating elements for %s", path ); fromElement = collectionFromElement; if ( !collectionFromElement.isCollectionOfValuesOrComponents() ) { getWalker().addQuerySpaces( queryableCollection.getElementPersister().getQuerySpaces() ); } setDataType( queryableCollection.getElementType() ); selectColumns = collectionFromElement.toColumns( fromElement.getTableAlias(), propertyName, inSelect ); }