else if ( queryDef.getQueryReturns() != null && queryDef.getQueryReturns().length > 0 ) { this.queryReturns = new ArrayList<>( Arrays.asList( queryDef.getQueryReturns() ) );
@SuppressWarnings({"unchecked", "WeakerAccess"}) protected void resultClassChecking(Class resultType, NamedSQLQueryDefinition namedQueryDefinition) { final NativeSQLQueryReturn[] queryReturns; if ( namedQueryDefinition.getQueryReturns() != null ) { queryReturns = namedQueryDefinition.getQueryReturns();
spec = new NativeSQLQuerySpecification( namedSQLQueryDefinition.getQueryString(), namedSQLQueryDefinition.getQueryReturns(), namedSQLQueryDefinition.getQuerySpaces() );
@Override public NamedSQLQueryDefinition makeCopy(String name) { return new NamedSQLQueryDefinition( name, getQuery(), isCacheable(), getCacheRegion(), getTimeout(), getFetchSize(), getFlushMode(), getCacheMode(), isReadOnly(), getComment(), getParameterTypes(), getFirstResult(), getMaxResults(), getResultSetRef(), getQuerySpaces(), isCallable(), getQueryReturns() ); }
@Test public void testQueryReturn() { StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder() .applySetting("hibernate.dialect", "org.hibernate.dialect.HSQLDialect"); StandardServiceRegistry standardServiceRegistry = serviceRegistryBuilder.build(); MetadataSources metadataSources = new MetadataSources(standardServiceRegistry); try { metadataSources.addInputStream(new ReaderInputStream(new StringReader(QUERY_RETURN_HBM_XML))); Metadata metadata = metadataSources.buildMetadata(); NamedSQLQueryDefinition myQuery = metadata.getNamedNativeQueryDefinition("myQuery"); Assert.assertNotNull(myQuery); NativeSQLQueryReturn[] myQueryReturns = myQuery.getQueryReturns(); Assert.assertNotNull(myQueryReturns); Assert.assertEquals(1, myQueryReturns.length); Assert.assertTrue(NativeSQLQueryRootReturn.class.isInstance(myQueryReturns[0])); NativeSQLQueryRootReturn myQueryRootReturn = (NativeSQLQueryRootReturn)myQueryReturns[0]; Assert.assertEquals("e", myQueryRootReturn.getAlias()); Assert.assertEquals("org.hibernate.test.hbm.query.QueryReturnTest$Bar", myQueryRootReturn.getReturnEntityName()); } finally { if ( standardServiceRegistry instanceof StandardServiceRegistryImpl ) { ( (StandardServiceRegistryImpl) standardServiceRegistry ).destroy(); } } }
/** * Constructs a SQLQueryImpl given a sql query defined in the mappings. * * @param queryDef The representation of the defined <sql-query/>. * @param session The session to which this SQLQueryImpl belongs. * @param parameterMetadata Metadata about parameters found in the query. */ SQLQueryImpl(NamedSQLQueryDefinition queryDef, SessionImplementor session, ParameterMetadata parameterMetadata) { super( queryDef.getQueryString(), queryDef.getFlushMode(), session, parameterMetadata ); if ( queryDef.getResultSetRef() != null ) { ResultSetMappingDefinition definition = session.getFactory() .getResultSetMapping( queryDef.getResultSetRef() ); if (definition == null) { throw new MappingException( "Unable to find resultset-ref definition: " + queryDef.getResultSetRef() ); } this.queryReturns = Arrays.asList( definition.getQueryReturns() ); } else if ( queryDef.getQueryReturns() != null && queryDef.getQueryReturns().length > 0 ) { this.queryReturns = Arrays.asList( queryDef.getQueryReturns() ); } else { this.queryReturns = new ArrayList<NativeSQLQueryReturn>(); } this.querySpaces = queryDef.getQuerySpaces(); this.callable = queryDef.isCallable(); }
/** * Constructs a SQLQueryImpl given a sql query defined in the mappings. * * @param queryDef The representation of the defined <sql-query/>. * @param session The session to which this SQLQueryImpl belongs. * @param parameterMetadata Metadata about parameters found in the query. */ SQLQueryImpl(NamedSQLQueryDefinition queryDef, SessionImplementor session, ParameterMetadata parameterMetadata) { super( queryDef.getQueryString(), queryDef.getFlushMode(), session, parameterMetadata ); if ( queryDef.getResultSetRef() != null ) { ResultSetMappingDefinition definition = session.getFactory() .getResultSetMapping( queryDef.getResultSetRef() ); if (definition == null) { throw new MappingException( "Unable to find resultset-ref definition: " + queryDef.getResultSetRef() ); } this.queryReturns = Arrays.asList( definition.getQueryReturns() ); } else if ( queryDef.getQueryReturns() != null && queryDef.getQueryReturns().length > 0 ) { this.queryReturns = Arrays.asList( queryDef.getQueryReturns() ); } else { this.queryReturns = new ArrayList<NativeSQLQueryReturn>(); } this.querySpaces = queryDef.getQuerySpaces(); this.callable = queryDef.isCallable(); }
spec = new NativeSQLQuerySpecification( qd.getQueryString(), qd.getQueryReturns(), qd.getQuerySpaces() );
spec = new NativeSQLQuerySpecification( qd.getQueryString(), qd.getQueryReturns(), qd.getQuerySpaces() );
if ( queryDefinition.getQueryReturns() != null ) { queryReturns = queryDefinition.getQueryReturns();