Package org.hibernate.cfg
Class ImprovedNamingStrategy
- java.lang.Object
-
- org.hibernate.cfg.ImprovedNamingStrategy
-
- All Implemented Interfaces:
java.io.Serializable,NamingStrategy
public class ImprovedNamingStrategy extends java.lang.Object implements NamingStrategy, java.io.Serializable
An improved naming strategy that prefers embedded underscores to mixed case names- See Also:
the default strategy, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static NamingStrategyINSTANCEA convenient singleton instance
-
Constructor Summary
Constructors Constructor Description ImprovedNamingStrategy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.lang.StringaddUnderscores(java.lang.String name)java.lang.StringclassToTableName(java.lang.String className)Return the unqualified class name, mixed case converted to underscoresjava.lang.StringcollectionTableName(java.lang.String ownerEntity, java.lang.String ownerEntityTable, java.lang.String associatedEntity, java.lang.String associatedEntityTable, java.lang.String propertyName)Return a collection table name ie an association having a join tablejava.lang.StringcolumnName(java.lang.String columnName)Convert mixed case to underscoresjava.lang.StringforeignKeyColumnName(java.lang.String propertyName, java.lang.String propertyEntityName, java.lang.String propertyTableName, java.lang.String referencedColumnName)Return the property name or propertyTableNamejava.lang.StringjoinKeyColumnName(java.lang.String joinedColumn, java.lang.String joinedTable)Return the argumentjava.lang.StringlogicalCollectionColumnName(java.lang.String columnName, java.lang.String propertyName, java.lang.String referencedColumn)Return the column name if explicit or the concatenation of the property name and the referenced columnjava.lang.StringlogicalCollectionTableName(java.lang.String tableName, java.lang.String ownerEntityTable, java.lang.String associatedEntityTable, java.lang.String propertyName)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 namejava.lang.StringlogicalColumnName(java.lang.String columnName, java.lang.String propertyName)Return the column name or the unqualified property namejava.lang.StringpropertyToColumnName(java.lang.String propertyName)Return the full property path with underscore separators, mixed case converted to underscoresjava.lang.StringtableName(java.lang.String tableName)Convert mixed case to underscores
-
-
-
Field Detail
-
INSTANCE
public static final NamingStrategy INSTANCE
A convenient singleton instance
-
-
Method Detail
-
classToTableName
public java.lang.String classToTableName(java.lang.String className)
Return the unqualified class name, mixed case converted to underscores- Specified by:
classToTableNamein interfaceNamingStrategy- Parameters:
className- the fully-qualified class name- Returns:
- a table name
-
propertyToColumnName
public java.lang.String propertyToColumnName(java.lang.String propertyName)
Return the full property path with underscore separators, mixed case converted to underscores- Specified by:
propertyToColumnNamein interfaceNamingStrategy- Parameters:
propertyName- a property path- Returns:
- a column name
-
tableName
public java.lang.String tableName(java.lang.String tableName)
Convert mixed case to underscores- Specified by:
tableNamein interfaceNamingStrategy- Parameters:
tableName- a table name- Returns:
- a table name
-
columnName
public java.lang.String columnName(java.lang.String columnName)
Convert mixed case to underscores- Specified by:
columnNamein interfaceNamingStrategy- Parameters:
columnName- a column name- Returns:
- a column name
-
addUnderscores
protected static java.lang.String addUnderscores(java.lang.String name)
-
collectionTableName
public java.lang.String collectionTableName(java.lang.String ownerEntity, java.lang.String ownerEntityTable, java.lang.String associatedEntity, java.lang.String associatedEntityTable, java.lang.String propertyName)Description copied from interface:NamingStrategyReturn a collection table name ie an association having a join table- Specified by:
collectionTableNamein interfaceNamingStrategyownerEntityTable- owner side table nameassociatedEntityTable- reverse side table name if anypropertyName- collection role
-
joinKeyColumnName
public java.lang.String joinKeyColumnName(java.lang.String joinedColumn, java.lang.String joinedTable)Return the argument- Specified by:
joinKeyColumnNamein interfaceNamingStrategy- Parameters:
joinedColumn- joined column name (logical one) used to join withjoinedTable- joined table name (ie the referenced table) used to join with
-
foreignKeyColumnName
public java.lang.String foreignKeyColumnName(java.lang.String propertyName, java.lang.String propertyEntityName, java.lang.String propertyTableName, java.lang.String referencedColumnName)Return the property name or propertyTableName- Specified by:
foreignKeyColumnNamein interfaceNamingStrategy- Parameters:
propertyName- the property name involvedpropertyTableName- the property table name involved (logical one)referencedColumnName- the referenced column name involved (logical one)
-
logicalColumnName
public java.lang.String logicalColumnName(java.lang.String columnName, java.lang.String propertyName)Return the column name or the unqualified property name- Specified by:
logicalColumnNamein interfaceNamingStrategy- Parameters:
columnName- given column name if anypropertyName- property name of this column
-
logicalCollectionTableName
public java.lang.String logicalCollectionTableName(java.lang.String tableName, java.lang.String ownerEntityTable, java.lang.String associatedEntityTable, java.lang.String propertyName)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- Specified by:
logicalCollectionTableNamein interfaceNamingStrategy- Parameters:
tableName- the metadata explicit nameownerEntityTable- owner table entity table name (logical one)associatedEntityTable- reverse side table name if any (logical one)propertyName- collection role
-
logicalCollectionColumnName
public java.lang.String logicalCollectionColumnName(java.lang.String columnName, java.lang.String propertyName, java.lang.String referencedColumn)Return the column name if explicit or the concatenation of the property name and the referenced column- Specified by:
logicalCollectionColumnNamein interfaceNamingStrategy- Parameters:
columnName- given column name in the metadata if anypropertyName- property namereferencedColumn- referenced column name (logical one) in the join
-
-