## 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.