org.hibernate.cfg
Class EJB3NamingStrategy

java.lang.Object
  extended by org.hibernate.cfg.EJB3NamingStrategy
All Implemented Interfaces:
Serializable, NamingStrategy
Direct Known Subclasses:
DefaultComponentSafeNamingStrategy

public class EJB3NamingStrategy
extends Object
implements NamingStrategy, Serializable

Naming strategy implementing the EJB3 standards

Author:
Emmanuel Bernard
See Also:
Serialized Form

Field Summary
static NamingStrategy INSTANCE
           
 
Constructor Summary
EJB3NamingStrategy()
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final NamingStrategy INSTANCE
Constructor Detail

EJB3NamingStrategy

public EJB3NamingStrategy()
Method Detail

classToTableName

public String classToTableName(String className)
Description copied from interface: NamingStrategy
Return a table name for an entity class

Specified by:
classToTableName in interface NamingStrategy
Parameters:
className - the fully-qualified class name
Returns:
a table name

propertyToColumnName

public String propertyToColumnName(String propertyName)
Description copied from interface: NamingStrategy
Return a column name for a property path expression

Specified by:
propertyToColumnName in interface NamingStrategy
Parameters:
propertyName - a property path
Returns:
a column name

tableName

public String tableName(String tableName)
Description copied from interface: NamingStrategy
Alter the table name given in the mapping document

Specified by:
tableName in interface NamingStrategy
Parameters:
tableName - a table name
Returns:
a table name

columnName

public String columnName(String columnName)
Description copied from interface: NamingStrategy
Alter the column name given in the mapping document

Specified by:
columnName in interface NamingStrategy
Parameters:
columnName - a column name
Returns:
a column name

collectionTableName

public String collectionTableName(String ownerEntity,
                                  String ownerEntityTable,
                                  String associatedEntity,
                                  String associatedEntityTable,
                                  String propertyName)
Description copied from interface: NamingStrategy
Return a collection table name ie an association having a join table

Specified by:
collectionTableName in interface NamingStrategy
ownerEntityTable - owner side table name
associatedEntityTable - reverse side table name if any
propertyName - collection role

joinKeyColumnName

public String joinKeyColumnName(String joinedColumn,
                                String joinedTable)
Description copied from interface: NamingStrategy
Return the join key column name ie a FK column used in a JOINED strategy or for a secondary table

Specified by:
joinKeyColumnName in interface NamingStrategy
Parameters:
joinedColumn - joined column name (logical one) used to join with
joinedTable - joined table name (ie the referenced table) used to join with

foreignKeyColumnName

public String foreignKeyColumnName(String propertyName,
                                   String propertyEntityName,
                                   String propertyTableName,
                                   String referencedColumnName)
Description copied from interface: NamingStrategy
Return the foreign key column name for the given parameters

Specified by:
foreignKeyColumnName in interface NamingStrategy
Parameters:
propertyName - the property name involved
propertyTableName - the property table name involved (logical one)
referencedColumnName - the referenced column name involved (logical one)

logicalColumnName

public String logicalColumnName(String columnName,
                                String propertyName)
Description copied from interface: NamingStrategy
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

Specified by:
logicalColumnName in interface NamingStrategy
Parameters:
columnName - given column name if any
propertyName - property name of this column

logicalCollectionTableName

public String logicalCollectionTableName(String tableName,
                                         String ownerEntityTable,
                                         String associatedEntityTable,
                                         String propertyName)
Description copied from interface: NamingStrategy
Returns the logical collection table name used to refer to a table in the mapping metadata

Specified by:
logicalCollectionTableName in interface NamingStrategy
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

public String logicalCollectionColumnName(String columnName,
                                          String propertyName,
                                          String referencedColumn)
Description copied from interface: NamingStrategy
Returns the logical foreign key column name used to refer to this column in the mapping metadata

Specified by:
logicalCollectionColumnName in interface NamingStrategy
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.