For example, if a Java class annotated @Entity
has no @Table annotation, then
determinePrimaryTableName
is called with an ImplicitEntityNameSource providing access to information
about the Java class and its entity name.
On the other hand, when a logical name is explicitly specified, for example,
using @Table to specify the table name,
or @Column to specify a column name, the
ImplicitNamingStrategy is not called and has no opportunity to intervene in
the determination of the logical name.
However, a further level of processing is applied to the resulting logical names by
a PhysicalNamingStrategy in order to determine the "finally final" physical
names in the relational database schema.
Whenever reasonable, the use of a custom ImplicitNamingStrategy is highly
recommended in preference to tedious and repetitive explicit table and column name
mappings. It's anticipated that most projects using Hibernate will feature a custom
implementation of ImplicitNamingStrategy.
An ImplicitNamingStrategy may be selected using the configuration property
hibernate.implicit_naming_strategy.
API Note
The method names here mostly favor the JPA terminology, for example, "secondary table" rather than "join".
PhysicalNamingStrategy, org.hibernate.cfg.Configuration#setImplicitNamingStrategy(ImplicitNamingStrategy) , org.hibernate.boot.MetadataBuilder#applyImplicitNamingStrategy(ImplicitNamingStrategy) , org.hibernate.cfg.AvailableSettings#IMPLICIT_NAMING_STRATEGY
| Modifier and Type | Method and Description |
|---|---|
| public Identifier | Returns: The determined column nameThe source information source)Determine the column name related to the discriminator portion of an
|
| public Identifier | Returns: The determined identifier column nameThe source information source)Determine the join column name related to the key/id portion of an
|
| public Identifier | Returns: The implicit column name.The source information source)Determine the column name when it is not explicitly specified using
|
| public Identifier | Returns: The implicit table name.The source information source)Determine the name of a collection join table given the source naming information, when a name is not explicitly given. |
| public Identifier | Returns: The implicit discriminator column nameThe source information source)Determine the discriminator
column name for the given entity when it is not explicitly specified using
|
| public Identifier | Returns: The determined foreign key nameThe source information source)Determine the foreign key name when it is not explicitly specified using
|
| public Identifier | Returns: The determined identifier column nameThe source information source)Determine the name if the identifier column
belonging to the given entity when it is not explicitly specified using
|
| public Identifier | Returns: The determined foreign key nameThe source information source)Determine the index name when it is not explicitly specified using
|
| public Identifier | Returns: The determined join column nameThe source information source)Determine the join column name when it is not explicitly specified using
|
| public Identifier | Returns: The implicit table name.The source information source)Determine the name of an association join table given the source naming information, when a name is not explicitly given. |
| public Identifier | Returns: The implicit column name.The source information source)Determine the list index column name when it is not explicitly specified using
|
| public Identifier | Returns: The implicit column name.The source information source)Determine the map key column name when it is not explicitly specified using
|
| public Identifier | Returns: The determined column nameThe source information source)Determine the primary key join column name when it is not explicitly specified
using |
| public Identifier | Returns: The implicit table name.The source information source)Determine the implicit name of an entity's primary table. |
| public Identifier | Returns: The determined tenant identifier column nameThe source information source)Determine the implicit name of the tenant identifier column belonging to a given entity when it is not explicitly
specified using |
| public Identifier | Returns: The determined foreign key nameThe source information source)Determine the unique key name when it is not explicitly specified using
|
| determineAnyDiscriminatorColumnName | back to summary |
|---|---|
| public Identifier determineAnyDiscriminatorColumnName(ImplicitAnyDiscriminatorColumnNameSource source) Determine the column name related to the discriminator portion of an
| |
| determineAnyKeyColumnName | back to summary |
|---|---|
| public Identifier determineAnyKeyColumnName(ImplicitAnyKeyColumnNameSource source) Determine the join column name related to the key/id portion of an
| |
| determineBasicColumnName | back to summary |
|---|---|
| public Identifier determineBasicColumnName(ImplicitBasicColumnNameSource source) Determine the column name when it is not explicitly specified using
| |
| determineCollectionTableName | back to summary |
|---|---|
| public Identifier determineCollectionTableName(ImplicitCollectionTableNameSource source) Determine the name of a collection join table given the source naming information, when a name is not explicitly given. This method is called only for collections of basic or embeddable values, and never for associations.
| |
| determineDiscriminatorColumnName | back to summary |
|---|---|
| public Identifier determineDiscriminatorColumnName(ImplicitDiscriminatorColumnNameSource source) Determine the discriminator
column name for the given entity when it is not explicitly specified using
| |
| determineForeignKeyName | back to summary |
|---|---|
| public Identifier determineForeignKeyName(ImplicitForeignKeyNameSource source) Determine the foreign key name when it is not explicitly specified using
| |
| determineIdentifierColumnName | back to summary |
|---|---|
| public Identifier determineIdentifierColumnName(ImplicitIdentifierColumnNameSource source) Determine the name if the identifier column
belonging to the given entity when it is not explicitly specified using
| |
| determineIndexName | back to summary |
|---|---|
| public Identifier determineIndexName(ImplicitIndexNameSource source) Determine the index name when it is not explicitly specified using
| |
| determineJoinColumnName | back to summary |
|---|---|
| public Identifier determineJoinColumnName(ImplicitJoinColumnNameSource source) Determine the join column name when it is not explicitly specified using
In
| |
| determineJoinTableName | back to summary |
|---|---|
| public Identifier determineJoinTableName(ImplicitJoinTableNameSource source) Determine the name of an association join table given the source naming information, when a name is not explicitly given. This method is called for any sort of association with a join table, no matter what the logical cardinality.
| |
| determineListIndexColumnName | back to summary |
|---|---|
| public Identifier determineListIndexColumnName(ImplicitIndexColumnNameSource source) Determine the list index column name when it is not explicitly specified using
| |
| determineMapKeyColumnName | back to summary |
|---|---|
| public Identifier determineMapKeyColumnName(ImplicitMapKeyColumnNameSource source) Determine the map key column name when it is not explicitly specified using
| |
| determinePrimaryKeyJoinColumnName | back to summary |
|---|---|
| public Identifier determinePrimaryKeyJoinColumnName(ImplicitPrimaryKeyJoinColumnNameSource source) Determine the primary key join column name when it is not explicitly specified
using
In
| |
| determinePrimaryTableName | back to summary |
|---|---|
| public Identifier determinePrimaryTableName(ImplicitEntityNameSource source) Determine the implicit name of an entity's primary table.
| |
| determineTenantIdColumnName | back to summary |
|---|---|
| public Identifier determineTenantIdColumnName(ImplicitTenantIdColumnNameSource source) Determine the implicit name of the tenant identifier column belonging to a given entity when it is not explicitly
specified using
| |
| determineUniqueKeyName | back to summary |
|---|---|
| public Identifier determineUniqueKeyName(ImplicitUniqueKeyNameSource source) Determine the unique key name when it is not explicitly specified using
| |