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 NamingStrategy
INSTANCE
A 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.String
addUnderscores(java.lang.String name)
java.lang.String
classToTableName(java.lang.String className)
Return the unqualified class name, mixed case converted to underscoresjava.lang.String
collectionTableName(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.String
columnName(java.lang.String columnName)
Convert mixed case to underscoresjava.lang.String
foreignKeyColumnName(java.lang.String propertyName, java.lang.String propertyEntityName, java.lang.String propertyTableName, java.lang.String referencedColumnName)
Return the property name or propertyTableNamejava.lang.String
joinKeyColumnName(java.lang.String joinedColumn, java.lang.String joinedTable)
Return the argumentjava.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 columnjava.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 namejava.lang.String
logicalColumnName(java.lang.String columnName, java.lang.String propertyName)
Return the column name or the unqualified property namejava.lang.String
propertyToColumnName(java.lang.String propertyName)
Return the full property path with underscore seperators, mixed case converted to underscoresjava.lang.String
tableName(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:
classToTableName
in 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 seperators, mixed case converted to underscores- Specified by:
propertyToColumnName
in 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:
tableName
in 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:
columnName
in 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:NamingStrategy
Return a collection table name ie an association having a join table- Specified by:
collectionTableName
in interfaceNamingStrategy
ownerEntityTable
- 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:
joinKeyColumnName
in 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:
foreignKeyColumnName
in 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:
logicalColumnName
in 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:
logicalCollectionTableName
in 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:
logicalCollectionColumnName
in interfaceNamingStrategy
- Parameters:
columnName
- given column name in the metadata if anypropertyName
- property namereferencedColumn
- referenced column name (logical one) in the join
-
-