当前位置: 首页>>代码示例>>Java>>正文


Java Table.getName方法代码示例

本文整理汇总了Java中org.hibernate.mapping.Table.getName方法的典型用法代码示例。如果您正苦于以下问题:Java Table.getName方法的具体用法?Java Table.getName怎么用?Java Table.getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.hibernate.mapping.Table的用法示例。


在下文中一共展示了Table.getName方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addTableName

import org.hibernate.mapping.Table; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
private void addTableName(MetadataImplementor metadata, ArrayList<String> tables, Table table, String aSchemaName) {
    String name = (null == aSchemaName) ? "" : aSchemaName + ".";
    name += table.getName();
    if (tables.contains(name)) {
        return;
    }

    final Collection<Table> ts = metadata.collectTableMappings();
    for (Table t : ts) {
        if (t.equals(table)) {
            continue;
        }
        Iterator<ForeignKey> relationships = t.getForeignKeyIterator();
        while (relationships.hasNext()) {
            ForeignKey fk = relationships.next();
            if (fk.getReferencedTable().equals(table)) {
                addTableName(metadata, tables, fk.getTable(), aSchemaName);
            }
        }
    }
    tables.add(name);
}
 
开发者ID:shared-vd,项目名称:tipi-engine,代码行数:24,代码来源:HibernateMetaDataTruncater.java

示例2: validateSchema

import org.hibernate.mapping.Table; //导入方法依赖的package包/类
public void validateSchema(Dialect dialect, DatabaseMetadata databaseMetadata)throws HibernateException {
	secondPassCompile();

	String defaultCatalog = properties.getProperty( Environment.DEFAULT_CATALOG );
	String defaultSchema = properties.getProperty( Environment.DEFAULT_SCHEMA );

	Iterator iter = getTableMappings();
	while ( iter.hasNext() ) {
		Table table = (Table) iter.next();
		if ( table.isPhysicalTable() ) {


			TableMetadata tableInfo = databaseMetadata.getTableMetadata(
					table.getName(),
					( table.getSchema() == null ) ? defaultSchema : table.getSchema(),
					( table.getCatalog() == null ) ? defaultCatalog : table.getCatalog(),
							table.isQuoted());
			if ( tableInfo == null ) {
				throw new HibernateException( "Missing table: " + table.getName() );
			}
			else {
				table.validateColumns( dialect, mapping, tableInfo );
			}

		}
	}

	iter = iterateGenerators( dialect );
	while ( iter.hasNext() ) {
		PersistentIdentifierGenerator generator = (PersistentIdentifierGenerator) iter.next();
		Object key = generator.generatorKey();
		if (key instanceof String) {
			key = normalizer.normalizeIdentifierQuoting( (String) key );
		}
		if ( !databaseMetadata.isSequence( key ) && !databaseMetadata.isTable( key ) ) {
			throw new HibernateException( "Missing sequence or table: " + key );
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:40,代码来源:Configuration.java

示例3: addColumnBinding

import org.hibernate.mapping.Table; //导入方法依赖的package包/类
public void addColumnBinding(String logicalName, Column physicalColumn, Table table) throws DuplicateMappingException {
	TableColumnNameBinding binding = ( TableColumnNameBinding ) columnNameBindingPerTable.get( table );
	if ( binding == null ) {
		binding = new TableColumnNameBinding( table.getName() );
		columnNameBindingPerTable.put( table, binding );
	}
	binding.addBinding( logicalName, physicalColumn );
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:9,代码来源:Configuration.java

示例4: getPhysicalColumnName

import org.hibernate.mapping.Table; //导入方法依赖的package包/类
public String getPhysicalColumnName(String logicalName, Table table) throws MappingException {
	logicalName = logicalName.toLowerCase();
	String finalName = null;
	Table currentTable = table;
	do {
		TableColumnNameBinding binding = ( TableColumnNameBinding ) columnNameBindingPerTable.get( currentTable );
		if ( binding != null ) {
			finalName = ( String ) binding.logicalToPhysical.get( logicalName );
		}
		String key = buildTableNameKey(
				currentTable.getQuotedSchema(), currentTable.getQuotedCatalog(), currentTable.getQuotedName()
		);
		TableDescription description = ( TableDescription ) tableNameBinding.get( key );
		if ( description != null ) {
			currentTable = description.denormalizedSupertable;
		}
		else {
			currentTable = null;
		}
	} while ( finalName == null && currentTable != null );

	if ( finalName == null ) {
		throw new MappingException(
				"Unable to find column with logical name " + logicalName + " in table " + table.getName()
		);
	}
	return finalName;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:29,代码来源:Configuration.java

示例5: getLogicalColumnName

import org.hibernate.mapping.Table; //导入方法依赖的package包/类
@Override
public String getLogicalColumnName(String physicalName, Table table) throws MappingException {
	String logical = null;
	Table currentTable = table;
	TableDescription description = null;
	do {
		TableColumnNameBinding binding = ( TableColumnNameBinding ) columnNameBindingPerTable.get( currentTable );
		if ( binding != null ) {
			logical = ( String ) binding.physicalToLogical.get( physicalName );
		}
		String key = buildTableNameKey(
				currentTable.getQuotedSchema(), currentTable.getQuotedCatalog(), currentTable.getQuotedName()
		);
		description = ( TableDescription ) tableNameBinding.get( key );
		if ( description != null ) {
			currentTable = description.denormalizedSupertable;
		}
		else {
			currentTable = null;
		}
	}
	while ( logical == null && currentTable != null );
	if ( logical == null ) {
		throw new MappingException(
				"Unable to find logical column name from physical name "
						+ physicalName + " in table " + table.getName()
		);
	}
	return logical;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:31,代码来源:Configuration.java

示例6: checkReferencedColumnsType

import org.hibernate.mapping.Table; //导入方法依赖的package包/类
public static int checkReferencedColumnsType(
		Ejb3JoinColumn[] columns,
		PersistentClass referencedEntity,
		Mappings mappings) {
	//convenient container to find whether a column is an id one or not
	Set<Column> idColumns = new HashSet<Column>();
	Iterator idColumnsIt = referencedEntity.getKey().getColumnIterator();
	while ( idColumnsIt.hasNext() ) {
		idColumns.add( (Column) idColumnsIt.next() );
	}

	boolean isFkReferencedColumnName = false;
	boolean noReferencedColumn = true;
	//build the list of potential tables
	if ( columns.length == 0 ) return NO_REFERENCE; //shortcut
	Object columnOwner = BinderHelper.findColumnOwner(
			referencedEntity, columns[0].getReferencedColumn(), mappings
	);
	if ( columnOwner == null ) {
		try {
			throw new MappingException(
					"Unable to find column with logical name: "
							+ columns[0].getReferencedColumn() + " in " + referencedEntity.getTable() + " and its related "
							+ "supertables and secondary tables"
			);
		}
		catch (MappingException e) {
			throw new RecoverableException( e.getMessage(), e );
		}
	}
	Table matchingTable = columnOwner instanceof PersistentClass ?
			( (PersistentClass) columnOwner ).getTable() :
			( (Join) columnOwner ).getTable();
	//check each referenced column
	for (Ejb3JoinColumn ejb3Column : columns) {
		String logicalReferencedColumnName = ejb3Column.getReferencedColumn();
		if ( StringHelper.isNotEmpty( logicalReferencedColumnName ) ) {
			String referencedColumnName;
			try {
				referencedColumnName = mappings.getPhysicalColumnName( logicalReferencedColumnName, matchingTable );
			}
			catch (MappingException me) {
				//rewrite the exception
				throw new MappingException(
						"Unable to find column with logical name: "
								+ logicalReferencedColumnName + " in " + matchingTable.getName()
				);
			}
			noReferencedColumn = false;
			Column refCol = new Column( referencedColumnName );
			boolean contains = idColumns.contains( refCol );
			if ( !contains ) {
				isFkReferencedColumnName = true;
				break; //we know the state
			}
		}
	}
	if ( isFkReferencedColumnName ) {
		return NON_PK_REFERENCE;
	}
	else if ( noReferencedColumn ) {
		return NO_REFERENCE;
	}
	else if ( idColumns.size() != columns.length ) {
		//reference use PK but is a subset or a superset
		return NON_PK_REFERENCE;
	}
	else {
		return PK_REFERENCE;
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:72,代码来源:Ejb3JoinColumn.java


注:本文中的org.hibernate.mapping.Table.getName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。