org.hibernate.cfg
Interface NamingStrategy

All Known Implementing Classes:
DefaultComponentSafeNamingStrategy, DefaultNamingStrategy, EJB3NamingStrategy, ImprovedNamingStrategy

public interface NamingStrategy

A set of rules for determining the physical column and table names given the information in the mapping document. May be used to implement project-scoped naming standards for database objects. #propertyToTableName(String, String) should be replaced by collectionTableName(String,String,String,String,String)

Author:
Gavin King, Emmanuel Bernard
See Also:
DefaultNamingStrategy, ImprovedNamingStrategy

Method Summary
 String classToTableName(String className)
          Return a table name for an entity class
 String collectionTableName(String ownerEntity, String ownerEntityTable, String associatedEntity, String associatedEntityTable, String propertyName)
          Return a collection table name ie an association having a join table
 String columnName(String columnName)
          Alter the column name given in the mapping document
 String foreignKeyColumnName(String propertyName, String propertyEntityName, String propertyTableName, String referencedColumnName)
          Return the foreign key column name for the given parameters
 String joinKeyColumnName(String joinedColumn, String joinedTable)
          Return the join key column name ie a FK column used in a JOINED strategy or for a secondary table
 String logicalCollectionColumnName(String columnName, String propertyName, String referencedColumn)
          Returns the logical foreign key column name used to refer to this column in the mapping metadata
 String logicalCollectionTableName(String tableName, String ownerEntityTable, String associatedEntityTable, String propertyName)
          Returns the logical collection table name used to refer to a table in the mapping metadata
 String logicalColumnName(String columnName, String propertyName)
          Return the logical column name used to refer to a column in the metadata (like index, unique constraints etc) A full bijection is required between logicalNames and physical ones logicalName have to be case insersitively unique for a given table
 String propertyToColumnName(String propertyName)
          Return a column name for a property path expression
 String tableName(String tableName)
          Alter the table name given in the mapping document
 

Method Detail

classToTableName

String classToTableName(String className)
Return a table name for an entity class

Parameters:
className - the fully-qualified class name
Returns:
a table name

propertyToColumnName

String propertyToColumnName(String propertyName)
Return a column name for a property path expression

Parameters:
propertyName - a property path
Returns:
a column name

tableName

String tableName(String tableName)
Alter the table name given in the mapping document

Parameters:
tableName - a table name
Returns:
a table name

columnName

String columnName(String columnName)
Alter the column name given in the mapping document

Parameters:
columnName - a column name
Returns:
a column name

collectionTableName

String collectionTableName(String ownerEntity,
                           String ownerEntityTable,
                           String associatedEntity,
                           String associatedEntityTable,
                           String propertyName)
Return a collection table name ie an association having a join table

Parameters:
ownerEntity -
ownerEntityTable - owner side table name
associatedEntity -
associatedEntityTable - reverse side table name if any
propertyName - collection role

joinKeyColumnName

String joinKeyColumnName(String joinedColumn,
                         String joinedTable)
Return the join key column name ie a FK column used in a JOINED strategy or for a secondary table

Parameters:
joinedColumn - joined column name (logical one) used to join with
joinedTable - joined table name (ie the referenced table) used to join with

foreignKeyColumnName

String foreignKeyColumnName(String propertyName,
                            String propertyEntityName,
                            String propertyTableName,
                            String referencedColumnName)
Return the foreign key column name for the given parameters

Parameters:
propertyName - the property name involved
propertyEntityName -
propertyTableName - the property table name involved (logical one)
referencedColumnName - the referenced column name involved (logical one)

logicalColumnName

String logicalColumnName(String columnName,
                         String propertyName)
Return the logical column name used to refer to a column in the metadata (like index, unique constraints etc) A full bijection is required between logicalNames and physical ones logicalName have to be case insersitively unique for a given table

Parameters:
columnName - given column name if any
propertyName - property name of this column

logicalCollectionTableName

String logicalCollectionTableName(String tableName,
                                  String ownerEntityTable,
                                  String associatedEntityTable,
                                  String propertyName)
Returns the logical collection table name used to refer to a table in the mapping metadata

Parameters:
tableName - the metadata explicit name
ownerEntityTable - owner table entity table name (logical one)
associatedEntityTable - reverse side table name if any (logical one)
propertyName - collection role

logicalCollectionColumnName

String logicalCollectionColumnName(String columnName,
                                   String propertyName,
                                   String referencedColumn)
Returns the logical foreign key column name used to refer to this column in the mapping metadata

Parameters:
columnName - given column name in the metadata if any
propertyName - property name
referencedColumn - referenced column name (logical one) in the join


Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.