Package org.hibernate.engine.query.spi.sql

Examples of org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn


    LockMode lockMode = getLockMode( returnElem.attributeValue( "lock-mode" ) );

    PersistentClass pc = mappings.getClass( entityName );
    java.util.Map propertyResults = bindPropertyResults(alias, returnElem, pc, mappings );

    return new NativeSQLQueryRootReturn(
        alias,
        entityName,
        propertyResults,
        lockMode
      );
View Full Code Here


      };
    }

    @Override
    public NativeSQLQueryReturn buildReturn() {
      return new NativeSQLQueryRootReturn( alias, entityName, propertyMappings, lockMode );
    }
View Full Code Here

      };
    }

    @Override
    public NativeSQLQueryReturn buildReturn() {
      return new NativeSQLQueryRootReturn( alias, entityName, propertyMappings, lockMode );
    }
View Full Code Here

    String sqlQueryString = sqlDefinition.getQueryString();
    SQLQuery noSqlQuery = ( (Session) getDelegate() ).createSQLQuery( sqlQueryString );

    if ( sqlDefinition.getQueryReturns() != null ) {
      if ( sqlDefinition.getQueryReturns().length == 1 ) {
        NativeSQLQueryRootReturn rootReturn = (NativeSQLQueryRootReturn) sqlDefinition.getQueryReturns()[0];
        noSqlQuery.addEntity( "alias1", rootReturn.getReturnEntityName(), LockMode.READ );
      }
    }
    else if ( sqlDefinition.getResultSetRef() != null ) {
      SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) factory.getSessionFactory();
      ResultSetMappingDefinition resultSetMapping = sessionFactory.getResultSetMapping( sqlDefinition.getResultSetRef() );
View Full Code Here

        }
      };
    }

    public NativeSQLQueryReturn buildReturn() {
      return new NativeSQLQueryRootReturn( alias, entityName, propertyMappings, lockMode );
    }
View Full Code Here

   */
  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() );
      }
View Full Code Here

          .createNamedQueryDefinition();
    }
    else if ( !void.class.equals( queryAnn.resultClass() ) ) {
      //class mapping usage
      //FIXME should be done in a second pass due to entity name?
      final NativeSQLQueryRootReturn entityQueryReturn =
          new NativeSQLQueryRootReturn( "alias1", queryAnn.resultClass().getName(), new HashMap(), LockMode.READ );
      builder.setQueryReturns( new NativeSQLQueryReturn[] {entityQueryReturn} );
    }
    else {
      builder.setQueryReturns( new NativeSQLQueryReturn[0] );
    }
View Full Code Here

          .createNamedQueryDefinition();
    }
    else if ( !void.class.equals( queryAnn.resultClass() ) ) {
      //class mapping usage
      //FIXME should be done in a second pass due to entity name?
      final NativeSQLQueryRootReturn entityQueryReturn =
          new NativeSQLQueryRootReturn( "alias1", queryAnn.resultClass().getName(), new HashMap(), LockMode.READ );
      query = new NamedSQLQueryDefinitionBuilder().setName( queryAnn.name() )
          .setQuery( queryAnn.query() )
          .setQueryReturns( new NativeSQLQueryReturn[] {entityQueryReturn} )
          .setQuerySpaces( null )
          .setCacheable( queryAnn.cacheable() )
View Full Code Here

      if ( queryReturn instanceof NativeSQLQueryScalarReturn ) {
        NativeSQLQueryScalarReturn rtn = (NativeSQLQueryScalarReturn) queryReturn;
        customReturns.add( new ScalarReturn( rtn.getType(), rtn.getColumnAlias() ) );
      }
      else if ( queryReturn instanceof NativeSQLQueryRootReturn ) {
        NativeSQLQueryRootReturn rtn = (NativeSQLQueryRootReturn) queryReturn;
        String alias = rtn.getAlias();
        EntityAliases entityAliases;
        if ( queryHadAliases || hasPropertyResultMap( alias ) ) {
          entityAliases = new DefaultEntityAliases(
              (Map) entityPropertyResultMaps.get( alias ),
              (SQLLoadable) alias2Persister.get( alias ),
              (String) alias2Suffix.get( alias )
          );
        }
        else {
          entityAliases = new ColumnEntityAliases(
              (Map) entityPropertyResultMaps.get( alias ),
              (SQLLoadable) alias2Persister.get( alias ),
              (String) alias2Suffix.get( alias )
          );
        }
        RootReturn customReturn = new RootReturn(
            alias,
            rtn.getReturnEntityName(),
            entityAliases,
            rtn.getLockMode()
        );
        customReturns.add( customReturn );
        customReturnsByAlias.put( rtn.getAlias(), customReturn );
      }
      else if ( queryReturn instanceof NativeSQLQueryCollectionReturn ) {
        NativeSQLQueryCollectionReturn rtn = (NativeSQLQueryCollectionReturn) queryReturn;
        String alias = rtn.getAlias();
        SQLLoadableCollection persister = (SQLLoadableCollection) alias2CollectionPersister.get( alias );
        boolean isEntityElements = persister.getElementType().isEntityType();
        CollectionAliases collectionAliases;
        EntityAliases elementEntityAliases = null;
        if ( queryHadAliases || hasPropertyResultMap( alias ) ) {
          collectionAliases = new GeneratedCollectionAliases(
              (Map) collectionPropertyResultMaps.get( alias ),
              (SQLLoadableCollection) alias2CollectionPersister.get( alias ),
              (String) alias2CollectionSuffix.get( alias )
          );
          if ( isEntityElements ) {
            elementEntityAliases = new DefaultEntityAliases(
                (Map) entityPropertyResultMaps.get( alias ),
                (SQLLoadable) alias2Persister.get( alias ),
                (String) alias2Suffix.get( alias )
            );
          }
        }
        else {
          collectionAliases = new ColumnCollectionAliases(
              (Map) collectionPropertyResultMaps.get( alias ),
              (SQLLoadableCollection) alias2CollectionPersister.get( alias )
          );
          if ( isEntityElements ) {
            elementEntityAliases = new ColumnEntityAliases(
                (Map) entityPropertyResultMaps.get( alias ),
                (SQLLoadable) alias2Persister.get( alias ),
                (String) alias2Suffix.get( alias )
            );
          }
        }
        CollectionReturn customReturn = new CollectionReturn(
            alias,
            rtn.getOwnerEntityName(),
            rtn.getOwnerProperty(),
            collectionAliases,
            elementEntityAliases,
            rtn.getLockMode()
        );
        customReturns.add( customReturn );
        customReturnsByAlias.put( rtn.getAlias(), customReturn );
      }
      else if ( queryReturn instanceof NativeSQLQueryJoinReturn ) {
        NativeSQLQueryJoinReturn rtn = (NativeSQLQueryJoinReturn) queryReturn;
        String alias = rtn.getAlias();
        FetchReturn customReturn;
        NonScalarReturn ownerCustomReturn = (NonScalarReturn) customReturnsByAlias.get( rtn.getOwnerAlias() );
        if ( alias2CollectionPersister.containsKey( alias ) ) {
          SQLLoadableCollection persister = (SQLLoadableCollection) alias2CollectionPersister.get( alias );
          boolean isEntityElements = persister.getElementType().isEntityType();
          CollectionAliases collectionAliases;
          EntityAliases elementEntityAliases = null;
          if ( queryHadAliases || hasPropertyResultMap( alias ) ) {
            collectionAliases = new GeneratedCollectionAliases(
                (Map) collectionPropertyResultMaps.get( alias ),
                persister,
                (String) alias2CollectionSuffix.get( alias )
            );
            if ( isEntityElements ) {
              elementEntityAliases = new DefaultEntityAliases(
                  (Map) entityPropertyResultMaps.get( alias ),
                  (SQLLoadable) alias2Persister.get( alias ),
                  (String) alias2Suffix.get( alias )
              );
            }
          }
          else {
            collectionAliases = new ColumnCollectionAliases(
                (Map) collectionPropertyResultMaps.get( alias ),
                persister
            );
            if ( isEntityElements ) {
              elementEntityAliases = new ColumnEntityAliases(
                  (Map) entityPropertyResultMaps.get( alias ),
                  (SQLLoadable) alias2Persister.get( alias ),
                  (String) alias2Suffix.get( alias )
              );
            }
          }
          customReturn = new CollectionFetchReturn(
              alias,
              ownerCustomReturn,
              rtn.getOwnerProperty(),
              collectionAliases,
              elementEntityAliases,
              rtn.getLockMode()
          );
        }
        else {
          EntityAliases entityAliases;
          if ( queryHadAliases || hasPropertyResultMap( alias ) ) {
            entityAliases = new DefaultEntityAliases(
                (Map) entityPropertyResultMaps.get( alias ),
                (SQLLoadable) alias2Persister.get( alias ),
                (String) alias2Suffix.get( alias )
            );
          }
          else {
            entityAliases = new ColumnEntityAliases(
                (Map) entityPropertyResultMaps.get( alias ),
                (SQLLoadable) alias2Persister.get( alias ),
                (String) alias2Suffix.get( alias )
            );
          }
          customReturn = new EntityFetchReturn(
              alias,
              entityAliases,
              ownerCustomReturn,
              rtn.getOwnerProperty(),
              rtn.getLockMode()
          );
        }
        customReturns.add( customReturn );
        customReturnsByAlias.put( alias, customReturn );
      }
View Full Code Here

    LockMode lockMode = getLockMode( returnElem.attributeValue( "lock-mode" ) );

    PersistentClass pc = mappings.getClass( entityName );
    java.util.Map propertyResults = bindPropertyResults(alias, returnElem, pc, mappings );

    return new NativeSQLQueryRootReturn(
        alias,
        entityName,
        propertyResults,
        lockMode
      );
View Full Code Here

TOP

Related Classes of org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.