private void alignColumns(Table referencedTable) { final int referencedPkColumnSpan = referencedTable.getPrimaryKey().getColumnSpan(); if ( referencedPkColumnSpan != getColumnSpan() ) { StringBuilder sb = new StringBuilder(); sb.append( "Foreign key (" ).append( getName() ).append( ":" ) .append( getTable().getName() ) .append( " [" ); appendColumns( sb, getColumnIterator() ); sb.append( "])" ) .append( ") must have same number of columns as the referenced primary key (" ) .append( referencedTable.getName() ) .append( " [" ); appendColumns( sb, referencedTable.getPrimaryKey().getColumnIterator() ); sb.append( "])" ); throw new MappingException( sb.toString() ); } Iterator fkCols = getColumnIterator(); Iterator pkCols = referencedTable.getPrimaryKey().getColumnIterator(); while ( pkCols.hasNext() ) { ( (Column) fkCols.next() ).setLength( ( (Column) pkCols.next() ).getLength() ); } }
Iterator columnItr = getColumnIterator(); int i = 0; while ( columnItr.hasNext() ) {
final Iterator itr = foreignKey.getColumnIterator(); while ( itr.hasNext() ) { columnNames[i] = ( (Column) itr.next() ).getQuotedName( dialect );
private void processIndexes(CassandraDatastoreProvider datastoreProvider, Table table, List<String> primaryKeys) { // cassandra won't allow table scanning, so we need to explicitly index for the fk relations: Iterator<ForeignKey> fkMappings = table.getForeignKeyIterator(); while ( fkMappings.hasNext() ) { ForeignKey foreignKey = fkMappings.next(); createSecondaryIndex( datastoreProvider, table, foreignKey.getName(), foreignKey.getColumnIterator() ); } Iterator<Index> indexIterator = table.getIndexIterator(); while ( indexIterator.hasNext() ) { Index index = indexIterator.next(); createSecondaryIndex( datastoreProvider, table, index.getName(), index.getColumnIterator() ); } }
private void alignColumns(Table referencedTable) { if ( referencedTable.getPrimaryKey().getColumnSpan()!=getColumnSpan() ) { StringBuffer sb = new StringBuffer(); sb.append("Foreign key (") .append( getName() + ":") .append( getTable().getName() ) .append(" ["); appendColumns( sb, getColumnIterator() ); sb.append("])") .append(") must have same number of columns as the referenced primary key (") .append( referencedTable.getName() ) .append(" ["); appendColumns( sb, referencedTable.getPrimaryKey().getColumnIterator() ); sb.append("])"); throw new MappingException( sb.toString() ); } Iterator fkCols = getColumnIterator(); Iterator pkCols = referencedTable.getPrimaryKey().getColumnIterator(); while ( pkCols.hasNext() ) { ( (Column) fkCols.next() ).setLength( ( (Column) pkCols.next() ).getLength() ); } }
private void alignColumns(Table referencedTable) { if ( referencedTable.getPrimaryKey().getColumnSpan()!=getColumnSpan() ) { StringBuffer sb = new StringBuffer(); sb.append("Foreign key (") .append( getName() + ":") .append( getTable().getName() ) .append(" ["); appendColumns( sb, getColumnIterator() ); sb.append("])") .append(") must have same number of columns as the referenced primary key (") .append( referencedTable.getName() ) .append(" ["); appendColumns( sb, referencedTable.getPrimaryKey().getColumnIterator() ); sb.append("])"); throw new MappingException( sb.toString() ); } Iterator fkCols = getColumnIterator(); Iterator pkCols = referencedTable.getPrimaryKey().getColumnIterator(); while ( pkCols.hasNext() ) { ( (Column) fkCols.next() ).setLength( ( (Column) pkCols.next() ).getLength() ); } }
public boolean isOneToOne(ForeignKey foreignKey) { if(settings.getDetectOneToOne()) { // add support for non-PK associations List<Column> fkColumns = foreignKey.getColumns(); List<Column> pkForeignTableColumns = null; if (foreignKey.getTable().hasPrimaryKey()) pkForeignTableColumns = foreignKey.getTable().getPrimaryKey().getColumns(); boolean equals = fkColumns != null && pkForeignTableColumns != null && fkColumns.size() == pkForeignTableColumns.size(); Iterator<Column> columns = foreignKey.getColumnIterator(); while (equals && columns.hasNext()) { Column fkColumn = (Column) columns.next(); equals = equals && pkForeignTableColumns.contains(fkColumn); } return equals; } else { return false; } }
public boolean isOneToOne(ForeignKey foreignKey) { if(settings.getDetectOneToOne()) { // add support for non-PK associations List<Column> fkColumns = foreignKey.getColumns(); List<Column> pkForeignTableColumns = null; if (foreignKey.getTable().hasPrimaryKey()) pkForeignTableColumns = foreignKey.getTable().getPrimaryKey().getColumns(); boolean equals = fkColumns != null && pkForeignTableColumns != null && fkColumns.size() == pkForeignTableColumns.size(); Iterator<Column> columns = foreignKey.getColumnIterator(); while (equals && columns.hasNext()) { Column fkColumn = (Column) columns.next(); equals = equals && pkForeignTableColumns.contains(fkColumn); } return equals; } else { return false; } }
private void alignColumns(Table referencedTable) { if ( referencedTable.getPrimaryKey().getColumnSpan()!=getColumnSpan() ) { StringBuffer sb = new StringBuffer(); sb.append("Foreign key (") .append( getName() + ":") .append( getTable().getName() ) .append(" ["); appendColumns( sb, getColumnIterator() ); sb.append("])") .append(") must have same number of columns as the referenced primary key (") .append( referencedTable.getName() ) .append(" ["); appendColumns( sb, referencedTable.getPrimaryKey().getColumnIterator() ); sb.append("])"); throw new MappingException( sb.toString() ); } Iterator fkCols = getColumnIterator(); Iterator pkCols = referencedTable.getPrimaryKey().getColumnIterator(); while ( pkCols.hasNext() ) { ( (Column) fkCols.next() ).setLength( ( (Column) pkCols.next() ).getLength() ); } }
/** * Validates that columnspan of the foreignkey and the primarykey is the same. * * Furthermore it aligns the length of the underlying tables. * @param referencedTable */ private void alignColumns(Table referencedTable) { if ( referencedTable.getPrimaryKey().getColumnSpan()!=getColumnSpan() ) { StringBuffer sb = new StringBuffer(); sb.append("Foreign key (") .append( getName() + ":") .append( getTable().getName() ) .append(" ["); appendColumns( sb, getColumnIterator() ); sb.append("])") .append(") must have same number of columns as the referenced primary key (") .append( referencedTable.getName() ) .append(" ["); appendColumns( sb, referencedTable.getPrimaryKey().getColumnIterator() ); sb.append("])"); throw new MappingException( sb.toString() ); } Iterator fkCols = getColumnIterator(); Iterator pkCols = referencedTable.getPrimaryKey().getColumnIterator(); while ( pkCols.hasNext() ) { ( (Column) fkCols.next() ).setLength( ( (Column) pkCols.next() ).getLength() ); } }
/** * @param mutable * @param table * @param fk * @param columnsToBind * @param processedColumns * @param rc * @param propName */ private Property bindManyToOne(String propertyName, boolean mutable, Table table, ForeignKey fk, Set<Column> processedColumns) { ManyToOne value = new ManyToOne((MetadataImplementor)metadata, table); value.setReferencedEntityName( fk.getReferencedEntityName() ); Iterator<Column> columns = fk.getColumnIterator(); while ( columns.hasNext() ) { Column fkcolumn = (Column) columns.next(); checkColumn(fkcolumn); value.addColumn(fkcolumn); processedColumns.add(fkcolumn); } value.setFetchMode(FetchMode.SELECT); return makeEntityProperty(propertyName, mutable, table, fk, value, false); }
public String sqlConstraintString(Dialect dialect, String constraintName, String defaultCatalog, String defaultSchema) { String[] cols = new String[ getColumnSpan() ]; String[] refcols = new String[ getColumnSpan() ]; int i=0; Iterator refiter = referencedTable.getPrimaryKey().getColumnIterator(); Iterator iter = getColumnIterator(); while ( iter.hasNext() ) { cols[i] = ( (Column) iter.next() ).getQuotedName(dialect); refcols[i] = ( (Column) refiter.next() ).getQuotedName(dialect); i++; } String result = dialect.getAddForeignKeyConstraintString( constraintName, cols, referencedTable.getQualifiedName(dialect, defaultCatalog, defaultSchema), refcols ); return cascadeDeleteEnabled ? result + " on delete cascade" : result; }
/** * @param mutable * @param table * @param fk * @param columnsToBind * @param processedColumns * @param rc * @param propName */ private Property bindManyToOne(String propertyName, boolean mutable, Table table, ForeignKey fk, Set<Column> processedColumns) { ManyToOne value = new ManyToOne(mdbc, table); value.setReferencedEntityName( fk.getReferencedEntityName() ); Iterator<Column> columns = fk.getColumnIterator(); while ( columns.hasNext() ) { Column fkcolumn = (Column) columns.next(); checkColumn(fkcolumn); value.addColumn(fkcolumn); processedColumns.add(fkcolumn); } value.setFetchMode(FetchMode.SELECT); return makeEntityProperty(propertyName, mutable, table, fk, value, false); }
public String sqlConstraintString(Dialect dialect, String constraintName, String defaultCatalog, String defaultSchema) { String[] cols = new String[ getColumnSpan() ]; String[] refcols = new String[ getColumnSpan() ]; int i=0; Iterator refiter = null; if(isReferenceToPrimaryKey() ) { refiter = referencedTable.getPrimaryKey().getColumnIterator(); } else { refiter = referencedColumns.iterator(); } Iterator iter = getColumnIterator(); while ( iter.hasNext() ) { cols[i] = ( (Column) iter.next() ).getQuotedName(dialect); refcols[i] = ( (Column) refiter.next() ).getQuotedName(dialect); i++; } String result = dialect.getAddForeignKeyConstraintString( constraintName, cols, referencedTable.getQualifiedName(dialect, defaultCatalog, defaultSchema), refcols, isReferenceToPrimaryKey() ); return cascadeDeleteEnabled && dialect.supportsCascadeDelete() ? result + " on delete cascade" : result; }
public String sqlConstraintString(Dialect dialect, String constraintName, String defaultCatalog, String defaultSchema) { String[] cols = new String[ getColumnSpan() ]; String[] refcols = new String[ getColumnSpan() ]; int i=0; Iterator refiter = null; if(isReferenceToPrimaryKey() ) { refiter = referencedTable.getPrimaryKey().getColumnIterator(); } else { refiter = referencedColumns.iterator(); } Iterator iter = getColumnIterator(); while ( iter.hasNext() ) { cols[i] = ( (Column) iter.next() ).getQuotedName(dialect); refcols[i] = ( (Column) refiter.next() ).getQuotedName(dialect); i++; } String result = dialect.getAddForeignKeyConstraintString( constraintName, cols, referencedTable.getQualifiedName(dialect, defaultCatalog, defaultSchema), refcols, isReferenceToPrimaryKey() ); return cascadeDeleteEnabled && dialect.supportsCascadeDelete() ? result + " on delete cascade" : result; }
public String sqlConstraintString(Dialect dialect, String constraintName, String defaultCatalog, String defaultSchema) { String[] cols = new String[ getColumnSpan() ]; String[] refcols = new String[ getColumnSpan() ]; int i=0; Iterator refiter = null; if(isReferenceToPrimaryKey() ) { refiter = referencedTable.getPrimaryKey().getColumnIterator(); } else { refiter = referencedColumns.iterator(); } Iterator iter = getColumnIterator(); while ( iter.hasNext() ) { cols[i] = ( (Column) iter.next() ).getQuotedName(dialect); refcols[i] = ( (Column) refiter.next() ).getQuotedName(dialect); i++; } String result = dialect.getAddForeignKeyConstraintString( constraintName, cols, referencedTable.getQualifiedName(dialect, defaultCatalog, defaultSchema), refcols, isReferenceToPrimaryKey() ); return cascadeDeleteEnabled && dialect.supportsCascadeDelete() ? result + " on delete cascade" : result; }
Iterator<Column> columns = fk.getColumnIterator(); while (columns.hasNext()) { Column fkcolumn = (Column) columns.next();
Iterator<Column> columns = fk.getColumnIterator(); while (columns.hasNext()) { Column fkcolumn = (Column) columns.next();
if ( contains( foreignKey.getColumnIterator(), processedColumns ) ) { if ( !preferBasicCompositeIds ) continue; //it's in the pk, so skip this one mutable = false;
if ( contains( foreignKey.getColumnIterator(), processedColumns ) ) { if ( !preferBasicCompositeIds ) continue; //it's in the pk, so skip this one mutable = false;