org.hibernate.cfg.NamingStrategy contract. However, NamingStrategy
suffers from many design flaws that are just not addressable in any sort of backwards
compatible manner. So this proposed approach is essentially a clean-room impl based
on lessons learned through NamingStrategy.
Naming is split here into 2 main pieces:
org.hibernate.boot.model.naming.ImplicitNamingStrategy .
org.hibernate.boot.model.naming.PhysicalNamingStrategy .
| Modifier and Type | Interface and Description |
|---|---|
| public interface | |
| public interface | ImplicitAnyDiscriminatorColumnNameSource
Context for determining the implicit name for an ANY mapping's discriminator column. |
| public interface | ImplicitAnyKeyColumnNameSource
Context for determining the implicit name for an ANY mapping's key column. |
| public interface | ImplicitBasicColumnNameSource
Context for determining the implicit name related to basic values. |
| public interface | ImplicitCollectionTableNameSource
Context for determining the implicit name for a collection table. |
| public interface | ImplicitConstraintNameSource
Common implicit name source traits for all constraint naming: FK, UK, index |
| public interface | ImplicitDiscriminatorColumnNameSource
Context for determining the implicit name of an entity's discriminator column. |
| public interface | ImplicitEntityNameSource
Context for determining the implicit name of an entity's primary table |
| public interface | |
| public interface | ImplicitIdentifierColumnNameSource
Context for determining the implicit name of an entity's identifier column. |
| public interface | |
| public interface | |
| public interface | ImplicitJoinColumnNameSource
Context for determining the implicit name of a "join column" (think
|
| public interface | ImplicitJoinTableNameSource
Context for determining the implicit name for a join table. |
| public interface | ImplicitMapKeyColumnNameSource
Context for determining the implicit name of a column used to back the key
of a |
| public interface | ImplicitNameSource
Common contract for all implicit naming sources |
| public interface | ImplicitNamingStrategy
Pluggable strategy for applying implicit naming rules when an explicit name is not given. |
| public interface | ImplicitPrimaryKeyJoinColumnNameSource
Used to help determine the implicit name of columns which are part of a primary-key, well simultaneously being part of a foreign-key (join). |
| public interface | ImplicitTenantIdColumnNameSource
Context for determining the implicit name of an entity's tenant identifier column. |
| public interface | |
| public interface | NamingStrategyHelper
Helper contract for dealing with naming strategies. |
| public interface | PhysicalNamingStrategy
Pluggable strategy contract for applying physical naming rules for database object names. |
| Modifier and Type | Class and Description |
|---|---|
| public class | CamelCaseToUnderscoresNamingStrategy
Originally copied from Spring Boot as this strategy is popular there (original name is SpringPhysicalNamingStrategy). |
| public class | DatabaseIdentifier
Models an identifier (name), retrieved from the database. |
| public class | Identifier
Models an identifier (name), which may or may not be quoted. |
| public class | IllegalIdentifierException
Indicates an attempted use of a name that was deemed illegal |
| public class | ImplicitNamingStrategyComponentPathImpl
An ImplicitNamingStrategy implementation which uses full composite paths extracted from AttributePath, as opposed to just the terminal property part. |
| public class | ImplicitNamingStrategyJpaCompliantImpl
Implementation of the ImplicitNamingStrategy contract, generally preferring to conform to JPA standards. |
| public class | ImplicitNamingStrategyLegacyHbmImpl
Implements the original legacy naming behavior. |
| public class | ImplicitNamingStrategyLegacyJpaImpl
Implementation of the ImplicitNamingStrategy contract which conforms to the naming rules initially implemented by Hibernate for JPA 1.0, prior to many things being clarified. |
| public class | |
| public abstract class | ObjectNameNormalizer
Provides centralized normalization of how database object names are handled. |
| public class | PhysicalNamingStrategyStandardImpl
Standard implementation of the PhysicalNamingStrategy contract. |