本文整理了Java中org.hibernate.boot.Metadata.collectTableMappings()
方法的一些代码示例,展示了Metadata.collectTableMappings()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Metadata.collectTableMappings()
方法的具体详情如下:
包路径:org.hibernate.boot.Metadata
类名称: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());
}
内容来源于网络,如有侵权,请联系作者删除!