org.hibernate.persister.entity.SQLLoadable Java Examples
The following examples show how to use
org.hibernate.persister.entity.SQLLoadable.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SQLQueryReturnProcessor.java From lams with GNU General Public License v2.0 | 5 votes |
private SQLLoadable getSQLLoadable(String entityName) throws MappingException { EntityPersister persister = factory.getEntityPersister( entityName ); if ( !(persister instanceof SQLLoadable) ) { throw new MappingException( "class persister is not SQLLoadable: " + entityName ); } return (SQLLoadable) persister; }
Example #2
Source File: SQLQueryReturnProcessor.java From lams with GNU General Public License v2.0 | 5 votes |
private void processRootReturn(NativeSQLQueryRootReturn rootReturn) { if ( alias2Persister.containsKey( rootReturn.getAlias() ) ) { // already been processed... return; } SQLLoadable persister = getSQLLoadable( rootReturn.getReturnEntityName() ); addPersister( rootReturn.getAlias(), rootReturn.getPropertyResultsMap(), persister ); }
Example #3
Source File: SQLQueryReturnProcessor.java From lams with GNU General Public License v2.0 | 5 votes |
private void addPersister(String alias, Map propertyResult, SQLLoadable persister) { alias2Persister.put( alias, persister ); String suffix = generateEntitySuffix(); LOG.tracev( "Mapping alias [{0}] to entity-suffix [{1}]", alias, suffix ); alias2Suffix.put( alias, suffix ); entityPropertyResultMaps.put( alias, propertyResult ); }
Example #4
Source File: SQLQueryReturnProcessor.java From lams with GNU General Public License v2.0 | 5 votes |
private void addCollection(String role, String alias, Map propertyResults) { SQLLoadableCollection collectionPersister = ( SQLLoadableCollection ) factory.getCollectionPersister( role ); alias2CollectionPersister.put( alias, collectionPersister ); String suffix = generateCollectionSuffix(); LOG.tracev( "Mapping alias [{0}] to collection-suffix [{1}]", alias, suffix ); alias2CollectionSuffix.put( alias, suffix ); collectionPropertyResultMaps.put( alias, propertyResults ); if ( collectionPersister.isOneToMany() || collectionPersister.isManyToMany() ) { SQLLoadable persister = ( SQLLoadable ) collectionPersister.getElementPersister(); addPersister( alias, filter( propertyResults ), persister ); } }
Example #5
Source File: SQLQueryReturnProcessor.java From lams with GNU General Public License v2.0 | 5 votes |
private void processJoinReturn(NativeSQLQueryJoinReturn fetchReturn) { String alias = fetchReturn.getAlias(); // if ( alias2Persister.containsKey( alias ) || collectionAliases.contains( alias ) ) { if ( alias2Persister.containsKey( alias ) || alias2CollectionPersister.containsKey( alias ) ) { // already been processed... return; } String ownerAlias = fetchReturn.getOwnerAlias(); // Make sure the owner alias is known... if ( !alias2Return.containsKey( ownerAlias ) ) { throw new HibernateException( "Owner alias [" + ownerAlias + "] is unknown for alias [" + alias + "]" ); } // If this return's alias has not been processed yet, do so b4 further processing of this return if ( !alias2Persister.containsKey( ownerAlias ) ) { NativeSQLQueryNonScalarReturn ownerReturn = ( NativeSQLQueryNonScalarReturn ) alias2Return.get(ownerAlias); processReturn( ownerReturn ); } SQLLoadable ownerPersister = ( SQLLoadable ) alias2Persister.get( ownerAlias ); Type returnType = ownerPersister.getPropertyType( fetchReturn.getOwnerProperty() ); if ( returnType.isCollectionType() ) { String role = ownerPersister.getEntityName() + '.' + fetchReturn.getOwnerProperty(); addCollection( role, alias, fetchReturn.getPropertyResultsMap() ); // collectionOwnerAliases.add( ownerAlias ); } else if ( returnType.isEntityType() ) { EntityType eType = ( EntityType ) returnType; String returnEntityName = eType.getAssociatedEntityName(); SQLLoadable persister = getSQLLoadable( returnEntityName ); addPersister( alias, fetchReturn.getPropertyResultsMap(), persister ); } }
Example #6
Source File: SQLQueryReturnProcessor.java From cacheonix-core with GNU Lesser General Public License v2.1 | 5 votes |
private void processJoinReturn(NativeSQLQueryJoinReturn fetchReturn) { String alias = fetchReturn.getAlias(); // if ( alias2Persister.containsKey( alias ) || collectionAliases.contains( alias ) ) { if ( alias2Persister.containsKey( alias ) || alias2CollectionPersister.containsKey( alias ) ) { // already been processed... return; } String ownerAlias = fetchReturn.getOwnerAlias(); // Make sure the owner alias is known... if ( !alias2Return.containsKey( ownerAlias ) ) { throw new HibernateException( "Owner alias [" + ownerAlias + "] is unknown for alias [" + alias + "]" ); } // If this return's alias has not been processed yet, do so b4 further processing of this return if ( !alias2Persister.containsKey( ownerAlias ) ) { NativeSQLQueryNonScalarReturn ownerReturn = ( NativeSQLQueryNonScalarReturn ) alias2Return.get(ownerAlias); processReturn( ownerReturn ); } SQLLoadable ownerPersister = ( SQLLoadable ) alias2Persister.get( ownerAlias ); Type returnType = ownerPersister.getPropertyType( fetchReturn.getOwnerProperty() ); if ( returnType.isCollectionType() ) { String role = ownerPersister.getEntityName() + '.' + fetchReturn.getOwnerProperty(); addCollection( role, alias, fetchReturn.getPropertyResultsMap() ); // collectionOwnerAliases.add( ownerAlias ); } else if ( returnType.isEntityType() ) { EntityType eType = ( EntityType ) returnType; String returnEntityName = eType.getAssociatedEntityName(); SQLLoadable persister = getSQLLoadable( returnEntityName ); addPersister( alias, fetchReturn.getPropertyResultsMap(), persister ); } }
Example #7
Source File: SQLQueryParser.java From lams with GNU General Public License v2.0 | 5 votes |
private String resolveProperties(String aliasName, String propertyName) { Map fieldResults = context.getPropertyResultsMapByAlias( aliasName ); SQLLoadable persister = context.getEntityPersisterByAlias( aliasName ); String suffix = context.getEntitySuffixByAlias( aliasName ); if ( "*".equals( propertyName ) ) { if( !fieldResults.isEmpty() ) { throw new QueryException("Using return-propertys together with * syntax is not supported."); } aliasesFound++; return persister.selectFragment( aliasName, suffix ) ; } else { String[] columnAliases; // Let return-propertys override whatever the persister has for aliases. columnAliases = (String[]) fieldResults.get( propertyName ); if ( columnAliases == null ) { columnAliases = persister.getSubclassPropertyColumnAliases( propertyName, suffix ); } if ( columnAliases == null || columnAliases.length == 0 ) { throw new QueryException( "No column name found for property [" + propertyName + "] for alias [" + aliasName + "]", originalQueryString ); } if ( columnAliases.length != 1 ) { // TODO: better error message since we actually support composites if names are explicitly listed. throw new QueryException( "SQL queries only support properties mapped to a single column - property [" + propertyName + "] is mapped to " + columnAliases.length + " columns.", originalQueryString ); } aliasesFound++; return columnAliases[0]; } }
Example #8
Source File: SQLQueryReturnProcessor.java From cacheonix-core with GNU Lesser General Public License v2.1 | 5 votes |
private void addCollection(String role, String alias, Map propertyResults) { SQLLoadableCollection collectionPersister = ( SQLLoadableCollection ) factory.getCollectionPersister( role ); alias2CollectionPersister.put( alias, collectionPersister ); String suffix = generateCollectionSuffix(); log.trace( "mapping alias [" + alias + "] to collection-suffix [" + suffix + "]" ); alias2CollectionSuffix.put( alias, suffix ); collectionPropertyResultMaps.put( alias, propertyResults ); if ( collectionPersister.isOneToMany() ) { SQLLoadable persister = ( SQLLoadable ) collectionPersister.getElementPersister(); addPersister( alias, filter( propertyResults ), persister ); } }
Example #9
Source File: IgniteSqlQueryParser.java From hibernate-ogm-ignite with GNU Lesser General Public License v2.1 | 5 votes |
private String resolveProperties( String aliasName, String propertyName) { Map fieldResults = context.getPropertyResultsMapByAlias( aliasName ); SQLLoadable persister = context.getEntityPersisterByAlias( aliasName ); String suffix = context.getEntitySuffixByAlias( aliasName ); if ( "*".equals( propertyName ) ) { if ( !fieldResults.isEmpty() ) { throw new QueryException( "Using return-propertys together with * syntax is not supported." ); } aliasesFound++; return persister.selectFragment( aliasName, suffix ); } else { String[] columnAliases; // Let return-propertys override whatever the persister has for aliases. columnAliases = (String[]) fieldResults.get( propertyName ); if ( columnAliases == null ) { columnAliases = persister.getSubclassPropertyColumnAliases( propertyName, suffix ); } if ( columnAliases == null || columnAliases.length == 0 ) { throw new QueryException( "No column name found for property [" + propertyName + "] for alias [" + aliasName + "]", originalQuery ); } if ( columnAliases.length != 1 ) { // TODO: better error message since we actually support composites if names are explicitly listed. throw new QueryException( "SQL queries only support properties mapped to a single column - property [" + propertyName + "] is mapped to " + columnAliases.length + " columns.", originalQuery ); } aliasesFound++; return columnAliases[0]; } }
Example #10
Source File: SQLQueryReturnProcessor.java From cacheonix-core with GNU Lesser General Public License v2.1 | 5 votes |
/** * @param propertyResult * @param persister */ private void addPersister(String alias, Map propertyResult, SQLLoadable persister) { alias2Persister.put( alias, persister ); String suffix = generateEntitySuffix(); log.trace( "mapping alias [" + alias + "] to entity-suffix [" + suffix + "]" ); alias2Suffix.put( alias, suffix ); entityPropertyResultMaps.put( alias, propertyResult ); }
Example #11
Source File: SQLQueryReturnProcessor.java From cacheonix-core with GNU Lesser General Public License v2.1 | 5 votes |
private void processRootReturn(NativeSQLQueryRootReturn rootReturn) { if ( alias2Persister.containsKey( rootReturn.getAlias() ) ) { // already been processed... return; } SQLLoadable persister = getSQLLoadable( rootReturn.getReturnEntityName() ); addPersister( rootReturn.getAlias(), rootReturn.getPropertyResultsMap(), persister ); }
Example #12
Source File: SQLQueryReturnProcessor.java From cacheonix-core with GNU Lesser General Public License v2.1 | 5 votes |
private SQLLoadable getSQLLoadable(String entityName) throws MappingException { EntityPersister persister = factory.getEntityPersister( entityName ); if ( !(persister instanceof SQLLoadable) ) { throw new MappingException( "class persister is not SQLLoadable: " + entityName ); } return (SQLLoadable) persister; }
Example #13
Source File: SQLQueryParser.java From cacheonix-core with GNU Lesser General Public License v2.1 | 4 votes |
private String resolveProperties( String aliasName, String propertyName) { Map fieldResults = context.getPropertyResultsMapByAlias( aliasName ); SQLLoadable persister = context.getEntityPersisterByAlias( aliasName ); String suffix = context.getEntitySuffixByAlias( aliasName ); if ( "*".equals( propertyName ) ) { if( !fieldResults.isEmpty() ) { throw new QueryException("Using return-propertys together with * syntax is not supported."); } aliasesFound++; return persister.selectFragment( aliasName, suffix ) ; } else { String[] columnAliases; // Let return-propertys override whatever the persister has for aliases. columnAliases = (String[]) fieldResults.get( propertyName ); if ( columnAliases == null ) { columnAliases = persister.getSubclassPropertyColumnAliases( propertyName, suffix ); } if ( columnAliases == null || columnAliases.length == 0 ) { throw new QueryException( "No column name found for property [" + propertyName + "] for alias [" + aliasName + "]", originalQueryString ); } if ( columnAliases.length != 1 ) { // TODO: better error message since we actually support composites if names are explicitly listed. throw new QueryException( "SQL queries only support properties mapped to a single column - property [" + propertyName + "] is mapped to " + columnAliases.length + " columns.", originalQueryString ); } aliasesFound++; return columnAliases[0]; } }
Example #14
Source File: SQLCustomQuery.java From lams with GNU General Public License v2.0 | 4 votes |
public SQLLoadable getEntityPersisterByAlias(String alias) { return aliasContext.getEntityPersister( alias ); }
Example #15
Source File: SQLQueryReturnProcessor.java From cacheonix-core with GNU Lesser General Public License v2.1 | 4 votes |
public SQLLoadable getEntityPersister(String alias) { return ( SQLLoadable ) alias2Persister.get( alias ); }
Example #16
Source File: SQLCustomQuery.java From cacheonix-core with GNU Lesser General Public License v2.1 | 4 votes |
public SQLLoadable getEntityPersisterByAlias(String alias) { return aliasContext.getEntityPersister( alias ); }
Example #17
Source File: IgniteSqlQueryParser.java From hibernate-ogm-ignite with GNU Lesser General Public License v2.1 | 4 votes |
@Override public SQLLoadable getEntityPersisterByAlias(String alias) { return null; }
Example #18
Source File: SQLQueryReturnProcessor.java From lams with GNU General Public License v2.0 | 4 votes |
public SQLLoadable getEntityPersister(String alias) { return (SQLLoadable) alias2Persister.get( alias ); }
Example #19
Source File: IgniteSqlQueryParser.java From hibernate-ogm-ignite with GNU Lesser General Public License v2.1 | votes |
SQLLoadable getEntityPersisterByAlias(String alias);
Example #20
Source File: SQLQueryParser.java From lams with GNU General Public License v2.0 | votes |
SQLLoadable getEntityPersisterByAlias(String alias);
Example #21
Source File: SQLQueryParser.java From cacheonix-core with GNU Lesser General Public License v2.1 | votes |
SQLLoadable getEntityPersisterByAlias(String alias);