org.hibernate.mapping.Index类的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(11.3k)|赞(0)|评价(0)|浏览(130)

本文整理了Java中org.hibernate.mapping.Index类的一些代码示例,展示了Index类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Index类的具体详情如下:
包路径:org.hibernate.mapping.Index
类名称:Index

Index介绍

[英]A relational table index
[中]关系表索引

代码示例

代码示例来源:origin: hibernate/hibernate-orm

  1. @Override
  2. public Iterator getIndexIterator() {
  3. List indexes = new ArrayList();
  4. Iterator iter = includedTable.getIndexIterator();
  5. while ( iter.hasNext() ) {
  6. Index parentIndex = (Index) iter.next();
  7. Index index = new Index();
  8. index.setName( getName() + parentIndex.getName() );
  9. index.setTable( this );
  10. index.addColumns( parentIndex.getColumnIterator() );
  11. indexes.add( index );
  12. }
  13. return new JoinedIterator(
  14. indexes.iterator(),
  15. super.getIndexIterator()
  16. );
  17. }

代码示例来源:origin: hibernate/hibernate-orm

  1. keyName = keyNameIdentifier.render( getDatabase().getJdbcEnvironment().getDialect() );
  2. UniqueKey uk = table.getOrCreateUniqueKey( keyName );
  3. for ( int i = 0; i < columns.length; i++ ) {
  4. Column column = columns[i];
  5. String order = orderings != null ? orderings[i] : null;
  6. if ( table.containsColumn( column ) ) {
  7. uk.addColumn( column, order );
  8. unbound.remove( column );
  9. keyName = keyNameIdentifier.render( getDatabase().getJdbcEnvironment().getDialect() );
  10. Index index = table.getOrCreateIndex( keyName );
  11. for ( int i = 0; i < columns.length; i++ ) {
  12. Column column = columns[i];
  13. String order = orderings != null ? orderings[i] : null;
  14. if ( table.containsColumn( column ) ) {
  15. index.addColumn( column, order );
  16. unbound.remove( column );

代码示例来源:origin: hibernate/hibernate-orm

  1. @Test
  2. public void testCollectionTableIndex(){
  3. PersistentClass entity = metadata().getEntityBinding( Car.class.getName() );
  4. Property property = entity.getProperty( "otherDealers" );
  5. Set set = (Set)property.getValue();
  6. Table collectionTable = set.getCollectionTable();
  7. Iterator<Index> itr = collectionTable.getIndexIterator();
  8. assertTrue( itr.hasNext() );
  9. Index index = itr.next();
  10. assertFalse( itr.hasNext() );
  11. assertTrue( "index name is not generated", StringHelper.isNotEmpty( index.getName() ) );
  12. assertEquals( 1, index.getColumnSpan() );
  13. Iterator<Column> columnIterator = index.getColumnIterator();
  14. Column column = columnIterator.next();
  15. assertEquals( "name", column.getName() );
  16. assertSame( collectionTable, index.getTable() );
  17. }

代码示例来源:origin: hibernate/hibernate-orm

  1. public String sqlCreateString(Dialect dialect, Mapping mapping, String defaultCatalog, String defaultSchema)
  2. throws HibernateException {
  3. return buildSqlCreateIndexString(
  4. dialect,
  5. getQuotedName( dialect ),
  6. getTable(),
  7. getColumnIterator(),
  8. columnOrderMap,
  9. false,
  10. defaultCatalog,
  11. defaultSchema
  12. );
  13. }

代码示例来源:origin: hibernate/hibernate-orm

  1. public Index getOrCreateIndex(String indexName) {
  2. Index index = indexes.get( indexName );
  3. if ( index == null ) {
  4. index = new Index();
  5. index.setName( indexName );
  6. index.setTable( this );
  7. indexes.put( indexName, index );
  8. }
  9. return index;
  10. }

代码示例来源:origin: hibernate/hibernate-orm

  1. @Override
  2. public String getExportIdentifier() {
  3. return StringHelper.qualify( getTable().getExportIdentifier(), "IDX-" + getName() );
  4. }
  5. }

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate.core

  1. while ( iter.hasNext() ) {
  2. Table table = (Table) iter.next();
  3. if ( table.isPhysicalTable() ) {
  4. table.getName(),
  5. ( table.getSchema() == null ) ? defaultSchema : table.getSchema(),
  6. ( table.getCatalog() == null ) ? defaultCatalog : table.getCatalog(),
  7. table.isQuoted()
  8. final Index index = (Index) subIter.next();
  9. if ( tableInfo != null && StringHelper.isNotEmpty( index.getName() ) ) {
  10. final IndexMetadata meta = tableInfo.getIndexMetadata( index.getName() );
  11. if ( meta != null ) {
  12. continue;
  13. index.sqlCreateString(
  14. dialect,
  15. mapping,

代码示例来源:origin: org.hibernate/hibernate-tools

  1. try {
  2. Map<String,Object> indexRs = null;
  3. indexIterator = metaDataDialect.getIndexInfo(getCatalogForDBLookup(table.getCatalog(), defaultCatalog), getSchemaForDBLookup(table.getSchema(), defaultSchema), table.getName());
  4. Index index = indexes.get(indexName);
  5. if(index==null) {
  6. index = new Index();
  7. index.setName(indexName);
  8. index.setTable(table);
  9. table.addIndex(index);
  10. indexes.put(indexName, index);
  11. index.addColumn(column);

代码示例来源:origin: hibernate/hibernate-tools

  1. Assert.assertEquals(
  2. JdbcUtil.toIdentifier(this, "WITH_INDEX"),
  3. JdbcUtil.toIdentifier(this, table.getName()));
  4. Assert.assertNull("there should be no pk", table.getPrimaryKey() );
  5. Iterator<Index> iterator = table.getIndexIterator();
  6. int cnt=0;
  7. while(iterator.hasNext() ) {
  8. Assert.assertEquals(
  9. JdbcUtil.toIdentifier(this, "MY_INDEX"),
  10. JdbcUtil.toIdentifier(this, index.getName()));
  11. Assert.assertEquals(2, index.getColumnSpan() );
  12. Assert.assertSame(index.getTable(), table);
  13. Iterator<Column> cols = index.getColumnIterator();
  14. Column col1 = cols.next();
  15. Column col2 = cols.next();

代码示例来源:origin: hibernate/hibernate-ogm

  1. /**
  2. * Constructor used for {@link Index}es.
  3. */
  4. public MongoDBIndexSpec(Index index, Document options) {
  5. this.indexType = determineIndexType( options );
  6. this.options = prepareOptions( this.indexType, options, index.getName(), false );
  7. this.collection = index.getTable().getName();
  8. this.indexName = index.getName();
  9. // TODO OGM-1080: the columnOrderMap is not accessible for an Index
  10. this.addIndexKeys( index.getColumnIterator(), Collections.<Column, String>emptyMap() );
  11. }

代码示例来源:origin: Jasig/uPortal

  1. if ("table".equals(name)) {
  2. for (final Column column : this.currentColumns.values()) {
  3. this.currentTable.addColumn(column);
  4. this.currentTable.setPrimaryKey(this.primaryKey);
  5. this.tables.put(this.currentTable.getName(), this.currentTable);
  6. this.tableColumnTypes.put(this.currentTable.getName(), this.currentColumnTypes);
  7. this.primaryKey = null;
  8. this.currentIndex.setName(itemName);
  9. } else if (this.currentUnique != null) {
  10. this.currentUnique.setName(itemName);
  11. this.currentIndex.addColumn(column);
  12. } else if (this.currentUnique != null) {
  13. this.currentUnique.addColumn(column);

代码示例来源:origin: hibernate/hibernate-orm

  1. private void addConstraintToColumn(final String columnName ) {
  2. Column column = table.getColumn(
  3. new Column(
  4. buildingContext.getMetadataCollector().getPhysicalColumnName( table, columnName )
  5. )
  6. );
  7. if ( column == null ) {
  8. throw new AnnotationException(
  9. "@Index references a unknown column: " + columnName
  10. );
  11. }
  12. if ( unique ) {
  13. table.getOrCreateUniqueKey( indexName ).addColumn( column );
  14. }
  15. else {
  16. table.getOrCreateIndex( indexName ).addColumn( column );
  17. }
  18. }

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate

  1. public String sqlCreateString(Dialect dialect, Mapping mapping, String defaultCatalog, String defaultSchema)
  2. throws HibernateException {
  3. return buildSqlCreateIndexString(
  4. dialect,
  5. getName(),
  6. getTable(),
  7. getColumnIterator(),
  8. false,
  9. defaultCatalog,
  10. defaultSchema
  11. );
  12. }

代码示例来源:origin: hibernate/hibernate-orm

  1. @Test
  2. public void testWithCustomNamingStrategy() throws Exception {
  3. Metadata metadata = new MetadataSources( serviceRegistry )
  4. .addAnnotatedClass(Address.class)
  5. .addAnnotatedClass(Person.class)
  6. .getMetadataBuilder()
  7. .applyImplicitNamingStrategy( new LongIdentifierNamingStrategy() )
  8. .build();
  9. UniqueKey uniqueKey = metadata.getEntityBinding( Address.class.getName()).getTable().getUniqueKeyIterator().next();
  10. assertEquals( expectedUniqueKeyName(), uniqueKey.getName() );
  11. org.hibernate.mapping.ForeignKey foreignKey =
  12. (org.hibernate.mapping.ForeignKey) metadata.getEntityBinding( Address.class.getName()).getTable().getForeignKeyIterator().next();
  13. assertEquals( expectedForeignKeyName(), foreignKey.getName() );
  14. org.hibernate.mapping.Index index = metadata.getEntityBinding( Address.class.getName()).getTable().getIndexIterator().next();
  15. assertEquals( expectedIndexName(), index.getName() );
  16. }

代码示例来源:origin: liquibase/liquibase-hibernate

  1. @Override
  2. protected void addTo(DatabaseObject foundObject, DatabaseSnapshot snapshot) throws DatabaseException, InvalidExampleException {
  3. if (!snapshot.getSnapshotControl().shouldInclude(Index.class)) {
  4. return;
  5. }
  6. if (foundObject instanceof Table) {
  7. Table table = (Table) foundObject;
  8. org.hibernate.mapping.Table hibernateTable = findHibernateTable(table, snapshot);
  9. if (hibernateTable == null) {
  10. return;
  11. }
  12. Iterator indexIterator = hibernateTable.getIndexIterator();
  13. while (indexIterator.hasNext()) {
  14. org.hibernate.mapping.Index hibernateIndex = (org.hibernate.mapping.Index) indexIterator.next();
  15. Index index = new Index();
  16. index.setTable(table);
  17. index.setName(hibernateIndex.getName());
  18. Iterator columnIterator = hibernateIndex.getColumnIterator();
  19. while (columnIterator.hasNext()) {
  20. org.hibernate.mapping.Column hibernateColumn = (org.hibernate.mapping.Column) columnIterator.next();
  21. index.getColumns().add(new Column(hibernateColumn.getName()).setRelation(table));
  22. }
  23. LOG.info("Found index " + index.getName());
  24. table.getIndexes().add(index);
  25. }
  26. }
  27. }

代码示例来源:origin: hibernate/hibernate-orm

  1. protected void applyIndexes(
  2. Table table,
  3. TableInformation tableInformation,
  4. Dialect dialect,
  5. Metadata metadata,
  6. Formatter formatter,
  7. ExecutionOptions options,
  8. GenerationTarget... targets) {
  9. final Exporter<Index> exporter = dialect.getIndexExporter();
  10. final Iterator<Index> indexItr = table.getIndexIterator();
  11. while ( indexItr.hasNext() ) {
  12. final Index index = indexItr.next();
  13. if ( !StringHelper.isEmpty( index.getName() ) ) {
  14. IndexInformation existingIndex = null;
  15. if ( tableInformation != null ) {
  16. existingIndex = findMatchingIndex( index, tableInformation );
  17. }
  18. if ( existingIndex == null ) {
  19. applySqlStrings(
  20. false,
  21. exporter.getSqlCreateStrings( index, metadata ),
  22. formatter,
  23. options,
  24. targets
  25. );
  26. }
  27. }
  28. }
  29. }

代码示例来源:origin: org.hibernate.ogm/hibernate-ogm-cassandra

  1. private void processIndexes(CassandraDatastoreProvider datastoreProvider, Table table, List<String> primaryKeys) {
  2. // cassandra won't allow table scanning, so we need to explicitly index for the fk relations:
  3. Iterator<ForeignKey> fkMappings = table.getForeignKeyIterator();
  4. while ( fkMappings.hasNext() ) {
  5. ForeignKey foreignKey = fkMappings.next();
  6. createSecondaryIndex( datastoreProvider, table, foreignKey.getName(), foreignKey.getColumnIterator() );
  7. }
  8. Iterator<Index> indexIterator = table.getIndexIterator();
  9. while ( indexIterator.hasNext() ) {
  10. Index index = indexIterator.next();
  11. createSecondaryIndex( datastoreProvider, table, index.getName(), index.getColumnIterator() );
  12. }
  13. }

代码示例来源:origin: hibernate/hibernate-orm

  1. final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment();
  2. final String tableName = jdbcEnvironment.getQualifiedObjectNameFormatter().format(
  3. index.getTable().getQualifiedTableName(),
  4. dialect
  5. );
  6. indexNameForCreation = jdbcEnvironment.getQualifiedObjectNameFormatter().format(
  7. new QualifiedNameImpl(
  8. index.getTable().getQualifiedTableName().getCatalogName(),
  9. index.getTable().getQualifiedTableName().getSchemaName(),
  10. jdbcEnvironment.getIdentifierHelper().toIdentifier( index.getQuotedName( dialect ) )
  11. ),
  12. jdbcEnvironment.getDialect()
  13. indexNameForCreation = index.getName();
  14. final Iterator<Column> columnItr = index.getColumnIterator();
  15. final Map<Column, String> columnOrderMap = index.getColumnOrderMap();
  16. while ( columnItr.hasNext() ) {
  17. final Column column = columnItr.next();

代码示例来源:origin: hibernate/hibernate-orm

  1. final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment();
  2. final String tableName = jdbcEnvironment.getQualifiedObjectNameFormatter().format(
  3. index.getTable().getQualifiedTableName(),
  4. jdbcEnvironment.getDialect()
  5. );
  6. indexNameForCreation = jdbcEnvironment.getQualifiedObjectNameFormatter().format(
  7. new QualifiedNameImpl(
  8. index.getTable().getQualifiedTableName().getCatalogName(),
  9. index.getTable().getQualifiedTableName().getSchemaName(),
  10. jdbcEnvironment.getIdentifierHelper().toIdentifier( index.getName() )
  11. ),
  12. jdbcEnvironment.getDialect()
  13. indexNameForCreation = index.getName();
  14. Iterator<Column> columnItr = index.getColumnIterator();
  15. while ( columnItr.hasNext() ) {
  16. final Column column = columnItr.next();

代码示例来源:origin: hibernate/hibernate-ogm

  1. private void addIndex(Label label, Index index) {
  2. if ( index != null ) {
  3. if ( index.getName() != null ) {
  4. log.cannotSetNameForIndex( index.getName() );
  5. }
  6. List<String> properties = CollectionHelper.toStream( index.getColumnIterator() )
  7. .map( Column::getName ).collect( Collectors.toList() );
  8. indexSpecs.add( new Neo4jIndexSpec( label, properties ) );
  9. }
  10. }

相关文章