if ( getIdentifierGenerator() instanceof IdentityGenerator ) { throw new MappingException( "Cannot use identity column key generation with <union-subclass> mapping for: " + getEntityName() ); tableName = determineTableName( persistentClass.getTable(), jdbcEnvironment ); subclassClosure[0] = getEntityName(); while ( iter.hasNext() ) { final Table table = (Table) iter.next(); subclassTables.add( determineTableName( table, jdbcEnvironment ) ); subquery = generateSubquery( persistentClass, creationContext.getMetadata() ); if ( isMultiTable() ) { int idColumnSpan = getIdentifierColumnSpan(); ArrayList tableNames = new ArrayList(); ArrayList keyColumns = new ArrayList(); if ( !isAbstract() ) { tableNames.add( tableName ); keyColumns.add( getIdentifierColumnNames() ); Table tab = (Table) iter.next(); if ( !tab.isAbstractUnionTable() ) { final String tableName = determineTableName( tab, jdbcEnvironment ); tableNames.add( tableName ); String[] key = new String[idColumnSpan];
SimpleSelect select = new SimpleSelect( getFactory().getDialect() ) .setLockMode( lockMode ) .setTableName( getTableName() ) .addColumns( getIdentifierColumnNames() ) .addColumns( getSubclassColumnClosure(), getSubclassColumnAliasClosure(), getSubclassColumnLazyiness() getSubclassFormulaClosure(), getSubclassFormulaAliasClosure(), getSubclassFormulaLazyiness() ); if ( hasSubclasses() ) { if ( isDiscriminatorFormula() ) { select.addColumn( getDiscriminatorFormula(), getDiscriminatorAlias() ); select.addColumn( getDiscriminatorColumnName(), getDiscriminatorAlias() ); if ( getFactory().getSettings().isCommentsEnabled() ) { select.setComment( "load " + getEntityName() ); return select.addCondition( getIdentifierColumnNames(), "=?" ).toStatementString();
protected int[] getPropertyTableNumbersInSelect() { return new int[getPropertySpan()]; }
@Override public String filterFragment(String name) { return hasWhere() ? " and " + getSQLWhereString( name ) : ""; }
SimpleSelect select = new SimpleSelect( getFactory().getDialect() ) .setLockMode(lockMode) .setTableName( getTableName() ) .addColumns( getIdentifierColumnNames() ) .addColumns( getSubclassColumnClosure(), getSubclassColumnAliasClosure(), getSubclassColumnLazyiness() getSubclassFormulaAliasClosure(), getSubclassFormulaLazyiness() ); if ( isDiscriminatorFormula() ) { select.addColumn( getDiscriminatorFormula(), getDiscriminatorAlias() );
if ( getIdentifierGenerator() instanceof IdentityGenerator ) { throw new MappingException( "Cannot use identity column key generation with <union-subclass> mapping for: " + getEntityName() ); subclassClosure[0] = getEntityName(); subquery = generateSubquery(persistentClass, mapping); initLockers(); initSubclassPropertyAliasesMap(persistentClass); postConstruct(mapping);
protected String[] getKeyColumns(int j) { return getIdentifierColumnNames(); }
protected String generateSubquery(PersistentClass model, Mapping mapping) { Dialect dialect = getFactory().getDialect(); Settings settings = getFactory().getSettings();
public String filterFragment(String name) { return hasWhere() ? " and " + getSQLWhereString(name) : ""; }
protected String[] getSubclassTableKeyColumns(int j) { if ( j != 0 ) { throw new AssertionFailure( "only one table" ); } return getIdentifierColumnNames(); }
protected String generateSubquery(PersistentClass model, Mapping mapping) { Dialect dialect = getFactory().getDialect(); Settings settings = getFactory().getSettings();
SimpleSelect select = new SimpleSelect( getFactory().getDialect() ) .setLockMode(lockMode) .setTableName( getTableName() ) .addColumns( getIdentifierColumnNames() ) .addColumns( getSubclassColumnClosure(), getSubclassColumnAliasClosure(), getSubclassColumnLazyiness() getSubclassFormulaAliasClosure(), getSubclassFormulaLazyiness() ); if ( hasSubclasses() ) { if ( isDiscriminatorFormula() ) { select.addColumn( getDiscriminatorFormula(), getDiscriminatorAlias() ); select.addColumn( getDiscriminatorColumnName(), getDiscriminatorAlias() ); if ( getFactory().getSettings().isCommentsEnabled() ) { select.setComment( "load " + getEntityName() ); return select.addCondition( getIdentifierColumnNames(), "=?" ).toStatementString();
if ( getIdentifierGenerator() instanceof IdentityGenerator ) { throw new MappingException( "Cannot use identity column key generation with <union-subclass> mapping for: " + getEntityName() ); subquery = generateSubquery(persistentClass, mapping); if ( isMultiTable() ) { int idColumnSpan = getIdentifierColumnSpan(); ArrayList tableNames = new ArrayList(); ArrayList keyColumns = new ArrayList(); if ( !isAbstract() ) { tableNames.add( tableName ); keyColumns.add( getIdentifierColumnNames() ); initLockers(); initSubclassPropertyAliasesMap(persistentClass); postConstruct(mapping);
public String filterFragment(String name) { return hasWhere() ? " and " + getSQLWhereString(name) : ""; }
protected int[] getPropertyTableNumbers() { return new int[getPropertySpan()]; }
protected String[] getKeyColumns(int j) { return getIdentifierColumnNames(); }
protected String generateSubquery(PersistentClass model, Mapping mapping) { Dialect dialect = getFactory().getDialect(); Settings settings = getFactory().getSettings();
SimpleSelect select = new SimpleSelect( getFactory().getDialect() ) .setLockMode(lockMode) .setTableName( getTableName() ) .addColumns( getIdentifierColumnNames() ) .addColumns( getSubclassColumnClosure(), getSubclassColumnAliasClosure(), getSubclassColumnLazyiness() getSubclassFormulaAliasClosure(), getSubclassFormulaLazyiness() ); if ( hasSubclasses() ) { if ( isDiscriminatorFormula() ) { select.addColumn( getDiscriminatorFormula(), getDiscriminatorAlias() ); select.addColumn( getDiscriminatorColumnName(), getDiscriminatorAlias() ); if ( getFactory().getSettings().isCommentsEnabled() ) { select.setComment( "load " + getEntityName() ); return select.addCondition( getIdentifierColumnNames(), "=?" ).toStatementString();
if ( getIdentifierGenerator() instanceof IdentityGenerator ) { throw new MappingException( "Cannot use identity column key generation with <union-subclass> mapping for: " + getEntityName() ); subclassClosure[0] = getEntityName(); subquery = generateSubquery(persistentClass, mapping); if ( isMultiTable() ) { int idColumnSpan = getIdentifierColumnSpan(); ArrayList tableNames = new ArrayList(); ArrayList keyColumns = new ArrayList(); if ( !isAbstract() ) { tableNames.add( tableName ); keyColumns.add( getIdentifierColumnNames() ); constraintOrderedKeyColumnNames = new String[][] { getIdentifierColumnNames() }; initLockers(); initSubclassPropertyAliasesMap(persistentClass); postConstruct(mapping);
public String filterFragment(String name) { return hasWhere() ? " and " + getSQLWhereString(name) : ""; }