@Override public Iterator getUniqueKeyIterator() { Iterator iter = includedTable.getUniqueKeyIterator(); while ( iter.hasNext() ) { UniqueKey uk = (UniqueKey) iter.next(); createUniqueKey( uk.getColumns() ); } return getUniqueKeys().values().iterator(); }
@Test @TestForIssue(jiraKey = "HHH-7890") public void testQuotedUniqueConstraint() { Iterator<UniqueKey> itr = metadata().getEntityBinding( Person.class.getName() ) .getTable().getUniqueKeyIterator(); while ( itr.hasNext() ) { UniqueKey uk = itr.next(); assertEquals( uk.getColumns().size(), 1 ); assertEquals( uk.getColumn( 0 ).getName(), "name"); return; } fail( "GLOBALLY_QUOTED_IDENTIFIERS caused the unique key creation to fail." ); }
final Exporter<Constraint> exporter = dialect.getUniqueKeyExporter(); final Iterator ukItr = table.getUniqueKeyIterator(); while ( ukItr.hasNext() ) { final UniqueKey uniqueKey = (UniqueKey) ukItr.next();
@Test @TestForIssue( jiraKey = "HHH-8026" ) public void testUnNamedConstraints() { StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build(); try { final Metadata metadata = new MetadataSources( ssr ) .addAnnotatedClass( UniqueNoNameA.class ) .addAnnotatedClass( UniqueNoNameB.class ) .buildMetadata(); org.hibernate.mapping.Table tableA = null; org.hibernate.mapping.Table tableB = null; for ( org.hibernate.mapping.Table table : metadata.collectTableMappings() ) { if ( table.getName().equals( "UniqueNoNameA" ) ) { tableA = table; } else if ( table.getName().equals( "UniqueNoNameB" ) ) { tableB = table; } } assertTrue( "Could not find the expected tables.", tableA != null && tableB != null ); assertFalse( tableA.getUniqueKeyIterator().next().getName().equals( tableB.getUniqueKeyIterator().next().getName() ) ); } finally { StandardServiceRegistryBuilder.destroy( ssr ); } }
@Test public void testWithCustomNamingStrategy() throws Exception { Metadata metadata = new MetadataSources( serviceRegistry ) .addAnnotatedClass(Address.class) .addAnnotatedClass(Person.class) .getMetadataBuilder() .applyImplicitNamingStrategy( new LongIdentifierNamingStrategy() ) .build(); UniqueKey uniqueKey = metadata.getEntityBinding( Address.class.getName()).getTable().getUniqueKeyIterator().next(); assertEquals( expectedUniqueKeyName(), uniqueKey.getName() ); org.hibernate.mapping.ForeignKey foreignKey = (org.hibernate.mapping.ForeignKey) metadata.getEntityBinding( Address.class.getName()).getTable().getForeignKeyIterator().next(); assertEquals( expectedForeignKeyName(), foreignKey.getName() ); org.hibernate.mapping.Index index = metadata.getEntityBinding( Address.class.getName()).getTable().getIndexIterator().next(); assertEquals( expectedIndexName(), index.getName() ); }
Iterator ukItr = table.getUniqueKeyIterator(); while (ukItr.hasNext()) { UniqueKey uk = (UniqueKey) ukItr.next();
@Test public void testTableIndex() { PersistentClass entity = metadata().getEntityBinding( Car.class.getName() ); Iterator itr = entity.getTable().getUniqueKeyIterator(); assertTrue( itr.hasNext() ); UniqueKey uk = (UniqueKey) itr.next(); assertFalse( itr.hasNext() ); assertTrue( StringHelper.isNotEmpty( uk.getName() ) ); assertEquals( 2, uk.getColumnSpan() ); Column column = (Column) uk.getColumns().get( 0 ); assertEquals( "brand", column.getName() ); column = (Column) uk.getColumns().get( 1 ); assertEquals( "producer", column.getName() ); assertSame( entity.getTable(), uk.getTable() ); itr = entity.getTable().getIndexIterator(); assertTrue( itr.hasNext() ); Index index = (Index)itr.next(); assertFalse( itr.hasNext() ); assertEquals( "Car_idx", index.getName() ); assertEquals( 1, index.getColumnSpan() ); column = index.getColumnIterator().next(); assertEquals( "since", column.getName() ); assertSame( entity.getTable(), index.getTable() ); }
final Iterator ukItr = table.getUniqueKeyIterator(); while ( ukItr.hasNext() ) { final UniqueKey uniqueKey = (UniqueKey) ukItr.next();
private void validateIndexSpecsForUniqueKeys(Table table, IndexOptions indexOptions, Set<String> forIndexNotReferenced, UniqueConstraintSchemaUpdateStrategy constraintMethod) { Iterator<UniqueKey> keys = table.getUniqueKeyIterator(); while ( keys.hasNext() ) { UniqueKey uniqueKey = keys.next(); forIndexNotReferenced.remove( uniqueKey.getName() ); if ( constraintMethod != UniqueConstraintSchemaUpdateStrategy.SKIP ) { MongoDBIndexSpec indexSpec = new MongoDBIndexSpec( uniqueKey, getIndexOptionDocument( table, indexOptions.getOptionForIndex( uniqueKey.getName() ) ) ); if ( validateIndexSpec( indexSpec ) ) { indexSpecs.add( indexSpec ); } } } }
private void validateIndexSpecsForUniqueKeys(Table table, IndexOptions indexOptions, Set<String> forIndexNotReferenced, UniqueConstraintSchemaUpdateStrategy constraintMethod) { Iterator<UniqueKey> keys = table.getUniqueKeyIterator(); while ( keys.hasNext() ) { UniqueKey uniqueKey = keys.next(); forIndexNotReferenced.remove( uniqueKey.getName() ); if ( constraintMethod != UniqueConstraintSchemaUpdateStrategy.SKIP ) { MongoDBIndexSpec indexSpec = new MongoDBIndexSpec( uniqueKey, getIndexOptionDocument( table, indexOptions.getOptionForIndex( uniqueKey.getName() ) ) ); if ( validateIndexSpec( indexSpec ) ) { indexSpecs.add( indexSpec ); } } } }
public static List<String> getUniqueConstraintNames(Table table) { ArrayList<String> result = InternalUtils.CollectionUtils.newArrayList(); Iterator<UniqueKey> iterator = table.getUniqueKeyIterator(); while (iterator.hasNext()) { UniqueKey uniqueKey = iterator.next(); result.add(uniqueKey.getName()); } return result; }
Iterator subIter = table.getUniqueKeyIterator(); while ( subIter.hasNext() ) { UniqueKey uk = (UniqueKey) subIter.next();
for (final Iterator<UniqueKey> subIter = table.getUniqueKeyIterator(); subIter.hasNext(); ) { final UniqueKey uk = subIter.next();
protected String generateAnnTableUniqueConstraint(Table table) { Iterator<UniqueKey> uniqueKeys = table.getUniqueKeyIterator(); List<String> cons = new ArrayList<String>(); while ( uniqueKeys.hasNext() ) { UniqueKey key = (UniqueKey) uniqueKeys.next(); if (table.hasPrimaryKey() && table.getPrimaryKey().getColumns().equals(key.getColumns())) { continue; } AnnotationBuilder constraint = AnnotationBuilder.createAnnotation( importType("javax.persistence.UniqueConstraint") ); constraint.addQuotedAttributes( "columnNames", new IteratorTransformer<Column>(key.getColumnIterator()) { public String transform(Column column) { return column.getName(); } }); cons.add( constraint.getResult() ); } AnnotationBuilder builder = AnnotationBuilder.createAnnotation( "dummyAnnotation" ); builder.addAttributes( "dummyAttribute", cons.iterator() ); String attributeAsString = builder.getAttributeAsString( "dummyAttribute" ); return attributeAsString==null?"":attributeAsString; }
Iterator subIter = table.getUniqueKeyIterator(); while ( subIter.hasNext() ) { UniqueKey uk = (UniqueKey) subIter.next();
protected String generateAnnTableUniqueConstraint(Table table) { Iterator<UniqueKey> uniqueKeys = table.getUniqueKeyIterator(); List<String> cons = new ArrayList<String>(); while ( uniqueKeys.hasNext() ) { UniqueKey key = (UniqueKey) uniqueKeys.next(); if (table.hasPrimaryKey() && table.getPrimaryKey().getColumns().equals(key.getColumns())) { continue; } AnnotationBuilder constraint = AnnotationBuilder.createAnnotation( importType("javax.persistence.UniqueConstraint") ); constraint.addQuotedAttributes( "columnNames", new IteratorTransformer<Column>(key.getColumnIterator()) { public String transform(Column column) { return column.getName(); } }); cons.add( constraint.getResult() ); } AnnotationBuilder builder = AnnotationBuilder.createAnnotation( "dummyAnnotation" ); builder.addAttributes( "dummyAttribute", cons.iterator() ); String attributeAsString = builder.getAttributeAsString( "dummyAttribute" ); return attributeAsString==null?"":attributeAsString; }
Iterator<UniqueKey> mappedUniqueKeys = mappedTable.getUniqueKeyIterator(); while (mappedUniqueKeys.hasNext()) { indices.add(convertIndex(mappedUniqueKeys.next(), table));
protected void createUniqueConstraints(DatastoreProvider provider, Database database) { List<UniqueConstraintDetails> constraints = new ArrayList<>(); for ( Namespace namespace : database.getNamespaces() ) { for ( Table table : namespace.getTables() ) { if ( table.isPhysicalTable() ) { Label label = label( table.getName() ); PrimaryKey primaryKey = table.getPrimaryKey(); addConstraint( constraints, table, label, primaryKey ); @SuppressWarnings("unchecked") Iterator<Column> columnIterator = table.getColumnIterator(); while ( columnIterator.hasNext() ) { Column column = columnIterator.next(); if ( column.isUnique() ) { constraints.add( new UniqueConstraintDetails( label, column.getName() ) ); } } Iterator<UniqueKey> uniqueKeyIterator = table.getUniqueKeyIterator(); while ( uniqueKeyIterator.hasNext() ) { addConstraint( constraints, table, label, uniqueKeyIterator.next() ); } } } } createUniqueConstraintsIfMissing( provider, constraints ); }
Iterator ukiter = getUniqueKeyIterator(); while ( ukiter.hasNext() ) { UniqueKey uk = ( UniqueKey ) ukiter.next();
return; Iterator uniqueIterator = hibernateTable.getUniqueKeyIterator(); while (uniqueIterator.hasNext()) { org.hibernate.mapping.UniqueKey hibernateUnique = (org.hibernate.mapping.UniqueKey) uniqueIterator.next();