| Method from org.hibernate.cfg.ImprovedNamingStrategy Detail: |
protected static String addUnderscores(String name) {
StringBuffer buf = new StringBuffer( name.replace('.", '_") );
for (int i=1; i< buf.length()-1; i++) {
if (
Character.isLowerCase( buf.charAt(i-1) ) &&
Character.isUpperCase( buf.charAt(i) ) &&
Character.isLowerCase( buf.charAt(i+1) )
) {
buf.insert(i++, '_");
}
}
return buf.toString().toLowerCase();
}
|
public String classToTableName(String className) {
return addUnderscores( StringHelper.unqualify(className) );
}
Return the unqualified class name, mixed case converted to
underscores |
public String collectionTableName(String ownerEntity,
String ownerEntityTable,
String associatedEntity,
String associatedEntityTable,
String propertyName) {
return tableName( ownerEntityTable + '_" + propertyToColumnName(propertyName) );
}
|
public String columnName(String columnName) {
return addUnderscores(columnName);
}
Convert mixed case to underscores |
public String foreignKeyColumnName(String propertyName,
String propertyEntityName,
String propertyTableName,
String referencedColumnName) {
String header = propertyName != null ? StringHelper.unqualify( propertyName ) : propertyTableName;
if (header == null) throw new AssertionFailure("NamingStrategy not properly filled");
return columnName( header ); //+ "_" + referencedColumnName not used for backward compatibility
}
Return the property name or propertyTableName |
public String joinKeyColumnName(String joinedColumn,
String joinedTable) {
return columnName( joinedColumn );
}
|
public String logicalCollectionColumnName(String columnName,
String propertyName,
String referencedColumn) {
return StringHelper.isNotEmpty( columnName ) ?
columnName :
StringHelper.unqualify( propertyName ) + "_" + referencedColumn;
}
Return the column name if explicit or the concatenation of the property name and the referenced column |
public String logicalCollectionTableName(String tableName,
String ownerEntityTable,
String associatedEntityTable,
String propertyName) {
if ( tableName != null ) {
return tableName;
}
else {
//use of a stringbuffer to workaround a JDK bug
return new StringBuffer(ownerEntityTable).append("_")
.append(
associatedEntityTable != null ?
associatedEntityTable :
StringHelper.unqualify( propertyName )
).toString();
}
}
Returns either the table name if explicit or
if there is an associated table, the concatenation of owner entity table and associated table
otherwise the concatenation of owner entity table and the unqualified property name |
public String logicalColumnName(String columnName,
String propertyName) {
return StringHelper.isNotEmpty( columnName ) ? columnName : StringHelper.unqualify( propertyName );
}
Return the column name or the unqualified property name |
public String propertyToColumnName(String propertyName) {
return addUnderscores( StringHelper.unqualify(propertyName) );
}
Return the full property path with underscore seperators, mixed
case converted to underscores |
public String tableName(String tableName) {
return addUnderscores(tableName);
}
Convert mixed case to underscores |