org.hibernate.boot.Metadata.collectTableMappings()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(11.9k)|赞(0)|评价(0)|浏览(119)

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

Metadata.collectTableMappings介绍

暂无

代码示例

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

public static boolean isTablePresent(String tableName, Metadata metadata) {
    for ( Table table : metadata.collectTableMappings() ) {
      if ( tableName.equals( table.getName() ) ) {
        return true;
      }
    }

    return false;
  }
}

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

@SuppressWarnings("unchecked")
public static boolean isColumnPresent(String tableName, String columnName, Metadata metadata) {
  for ( Table table : metadata.collectTableMappings() ) {
    if (tableName.equals( table.getName() ) ) {
      Iterator<Column> columns = (Iterator<Column>) table.getColumnIterator();
      while ( columns.hasNext() ) {
        Column column = columns.next();
        if ( columnName.equals( column.getName() ) ) {
          return true;
        }
      }
    }
  }
  return false;
}

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

@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 );
  }
}

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

private List<Table> getTables(Metadata metadata) {
  List<Table> list = new ArrayList<Table>();
  Iterator<Table> iter = metadata.collectTableMappings().iterator();
  while(iter.hasNext()) {
    Table element = iter.next();
    list.add(element);
  }
  return list;
}

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

private List<Table> getTables(Metadata metadata) {
  List<Table> list = new ArrayList<Table>();
  Iterator<Table> iter = metadata.collectTableMappings().iterator();
  while(iter.hasNext()) {
    Table element = iter.next();
    list.add(element);
  }
  return list;
}

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

public static Table getTable(Metadata metadata, String tabName) {
  if (metadata != null) {
    Iterator<Table> iter = metadata.collectTableMappings().iterator();
    while (iter.hasNext()) {
      Table table = (Table) iter.next();
      if (table.getName().equals(tabName)) {
        return table;
      }
    }
  }
  return null;
}

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

abstract protected void visit(Table table, Column col, IssueCollector collector);

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

abstract protected void visit(Table table, Column col, IssueCollector collector);

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

@Test
public void testBasic() throws SQLException {	
  Metadata metadata = MetadataDescriptorFactory
      .createJdbcDescriptor(null, null, true)
      .createMetadata();
  JUnitUtil.assertIteratorContainsExactly(
      "There should be " + TABLECOUNT + " tables!", 
      metadata.collectTableMappings().iterator(), 
      TABLECOUNT);
  Table tab = (Table) metadata.collectTableMappings().iterator().next();
  Assert.assertEquals(tab.getColumnSpan(), COLCOUNT+1);
}

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

/**
 * Generate one file per table with detail information.
 */
public void generateTablesDetails() {
    Metadata metadata = getMetadata();
  Iterator<Table> tables = metadata.collectTableMappings().iterator();
  while (tables.hasNext() ) {
    Table table = tables.next();
    DocFile docFile = docFileManager.getTableDocFile(table);
    if(docFile!=null) {
      File file = docFile.getFile();
      Map<String, Object> parameters = new HashMap<String, Object>();
      parameters.put("docFile", docFile);
      parameters.put("table", table);
      processTemplate(parameters, FTL_TABLES_TABLE, file);
    }
  }
}

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

/**
 * Generate one file per table with detail information.
 */
public void generateTablesDetails() {
    Metadata metadata = getMetadata();
  Iterator<Table> tables = metadata.collectTableMappings().iterator();
  while (tables.hasNext() ) {
    Table table = tables.next();
    DocFile docFile = docFileManager.getTableDocFile(table);
    if(docFile!=null) {
      File file = docFile.getFile();
      Map<String, Object> parameters = new HashMap<String, Object>();
      parameters.put("docFile", docFile);
      parameters.put("table", table);
      processTemplate(parameters, FTL_TABLES_TABLE, file);
    }
  }
}

代码示例来源:origin: org.n52.sensorweb.sos/hibernate-datasource-common

/**
 * Create quoted string with schema.table
 * @param settings Datasource settings
 * @param conn SQL connection
 * @return {@link List} with table names
 * @throws SQLException If an error occurs while checking catalog/schema
 */
protected List<String> getQuotedSchemaTableNames(Map<String, Object> settings, Connection conn) throws SQLException {
  String catalog = checkCatalog(conn);
  String schema = checkSchema((String) settings.get(SCHEMA_KEY), catalog, conn);
  CustomConfiguration config = getConfig(settings);
  Iterator<Table> tables = getMetadata(conn, settings).collectTableMappings().iterator();
  List<String> names = new LinkedList<String>();
  while (tables.hasNext()) {
    Table table = tables.next();
    if (table.isPhysicalTable()) {
      names.add(table.getQualifiedName(getDialectInternal(), catalog, schema));
    }
  }
  return names;
}

代码示例来源:origin: Evolveum/midpoint

private boolean areSomeTablesPresent(Metadata metadata) {
  Collection<String> presentTables = new ArrayList<>();
  Collection<String> missingTables = new ArrayList<>();
  for (Table table : metadata.collectTableMappings()) {
    String tableName = table.getName();
    try (Session session = baseHelper.beginReadOnlyTransaction()) {
      List<?> result = session.createNativeQuery("select count(*) from " + tableName).list();
      LOGGER.debug("Table {} seems to be present; number of records is {}", tableName, result);
      presentTables.add(tableName);
    } catch (Throwable t) {
      LOGGER.debug("Table {} seems to be missing: {}", tableName, t.getMessage(), t);
      missingTables.add(tableName);
    }
  }
  LOGGER.info("The following midPoint tables are present (not necessarily well-defined): {}", presentTables);
  LOGGER.info("Couldn't find the following midPoint tables: {}", missingTables);
  return !presentTables.isEmpty();
}

代码示例来源:origin: 52North/SOS

/**
 * Create quoted string with schema.table
 *
 * @param settings
 *            Datasource settings
 * @param conn
 *            SQL connection
 * @return {@link List} with table names
 * @throws SQLException
 *             If an error occurs while checking catalog/schema
 */
protected List<String> getQuotedSchemaTableNames(Map<String, Object> settings, Connection conn)
    throws SQLException {
  String catalog = checkCatalog(conn);
  String schema = checkSchema((String) settings.get(SCHEMA_KEY), catalog, conn);
  CustomConfiguration config = getConfig(settings);
  Iterator<Table> tables = getMetadata(conn, settings).collectTableMappings().iterator();
  List<String> names = new LinkedList<String>();
  while (tables.hasNext()) {
    Table table = tables.next();
    if (table.isPhysicalTable()) {
      names.add(table.getQualifiedName(getDialectInternal(), catalog, schema));
    }
  }
  return names;
}

代码示例来源:origin: 52North/SOS

@Override
public boolean checkIfSchemaExists(Map<String, Object> settings) {
  Connection conn = null;
  try {
    /* check if any of the needed tables is existing */
    conn = openConnection(settings);
    Metadata metadata = getMetadata(conn, settings);
    Iterator<Table> iter = metadata.collectTableMappings().iterator();
    String catalog = checkCatalog(conn);
    String schema = checkSchema((String) settings.get(SCHEMA_KEY), catalog, conn);
    Set<String> tableNames = getTableNames(conn, catalog, schema);
    while (iter.hasNext()) {
      Table table = iter.next();
      if (table.isPhysicalTable() && tableNames.contains(table.getName())) {
        return true;
      }
    }
    return false;
  } catch (SQLException ex) {
    throw new ConfigurationError(ex);
  } finally {
    close(conn);
  }
}

代码示例来源:origin: org.n52.sensorweb.sos/hibernate-datasource-h2

@Override
public void clear(Properties properties) {
  Map<String, Object> settings = parseDatasourceProperties(properties);
  CustomConfiguration config = getConfig(settings);
  Connection conn = null;
  Statement stmt = null;
  try {
    conn = openConnection(settings);
    Iterator<Table> tables = getMetadata(conn, settings).collectTableMappings().iterator();
    stmt = conn.createStatement();
    stmt.execute("set referential_integrity false");
    while (tables.hasNext()) {
      Table table = tables.next();
      if (table.isPhysicalTable()) {
        stmt.execute("truncate table " + table.getQuotedName(new GeoDBDialect()));
      }
    }
    stmt.execute("set referential_integrity true");
    GeoDB.InitGeoDB(conn);
  } catch (SQLException ex) {
    throw new ConfigurationError(ex);
  } finally {
    close(stmt);
    close(conn);
  }
}

代码示例来源:origin: com.atlassian.hibernate/hibernate.adapter

/**
 * Update the unique key constraint names, as per hibernate 2 naming.
 */
@SuppressWarnings("unchecked")
public void updateUniqueKeyConstraints(final Metadata metadata) {
  for (Table table : metadata.collectTableMappings()) {
    Iterator<Column> i = table.getColumnIterator();
    while (i.hasNext()) {
      final Column column = i.next();
      if (column.isUnique()) {
        UniqueKey uk = table.getOrCreateUniqueKey(Constraint.generateName("UK_", table, column));
        uk.setName(determineUniqueKeyName(table.getName(), column.getName()));
      }
    }
  }
}

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

@Test
public void testOverlapping() {	
  OverrideRepository or = new OverrideRepository();
  or.addSchemaSelection(new SchemaSelection(null, "OVRTEST"));
  or.addSchemaSelection(new SchemaSelection(null, null, "MASTER"));
  or.addSchemaSelection(new SchemaSelection(null, null, "CHILD"));
  ReverseEngineeringStrategy res = 
      or.getReverseEngineeringStrategy(new DefaultReverseEngineeringStrategy());
  Metadata metadata = MetadataDescriptorFactory
      .createJdbcDescriptor(res, null, true)
      .createMetadata();
  Set<TableIdentifier> tables = new HashSet<TableIdentifier>();
  Iterator<Table> iter = metadata.collectTableMappings().iterator();
  while(iter.hasNext()) {
    Table element = iter.next();
    boolean added = tables.add(TableIdentifier.create(element));
    if(!added) 
      Assert.fail("duplicate table found for " + element); 
  }
  Assert.assertEquals(4,tables.size());					
}

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

@Test
public void testBasic() throws SQLException {
  JUnitUtil.assertIteratorContainsExactly( 
      "There should be 2 tables!", 
      metadata.collectTableMappings().iterator(),
      2);
  Table table = HibernateUtil.getTable(metadata, JdbcUtil.toIdentifier(this, "B_TAB" ) );
  Table table2 = HibernateUtil.getTable(metadata, JdbcUtil.toIdentifier(this, "B2TAB" ) );
  Assert.assertNotNull(table);
  Assert.assertNotNull(table2);
  
  Assert.assertEquals(table.getColumnSpan(), 2);
  Assert.assertEquals(table2.getColumnSpan(), 2);
  
}

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

protected void cleanUpContext() {
  if(getProperties()!=null) {
    iterator = getProperties().entrySet().iterator();
    while ( iterator.hasNext() ) {
      Entry<Object, Object> element = iterator.next();
      Object value = transformValue(element.getValue());
      String key = element.getKey().toString();
      if(key.startsWith(ExporterSettings.PREFIX_KEY)) {
        getTemplateHelper().removeFromContext(key.substring(ExporterSettings.PREFIX_KEY.length()), value);
      }
      getTemplateHelper().removeFromContext(key, value);
    }
  }
  if(getOutputDirectory()!=null) {
    getTemplateHelper().removeFromContext("outputdir", getOutputDirectory());
  }
  if(getTemplatePath()!=null) {
    getTemplateHelper().removeFromContext("template_path", getTemplatePath());			
  }
  getTemplateHelper().removeFromContext("exporter", this);
  getTemplateHelper().removeFromContext("artifacts", collector);
  if(getMetadata() != null) {
      getTemplateHelper().removeFromContext("md", metadata);
      getTemplateHelper().removeFromContext("props", getProperties());
      getTemplateHelper().removeFromContext("tables", metadata.collectTableMappings());
  }        
  getTemplateHelper().removeFromContext("c2h", getCfg2HbmTool());
  getTemplateHelper().removeFromContext("c2j", getCfg2JavaTool());		
}

相关文章