Package org.hibernate.boot.model.naming
This API allows intervention by generic code in the process of determining the names of
database objects (tables, columns, and constraints).
Name determination happens in two phases:
-
Logical naming is the process of applying naming rules to determine the
names of objects which were not explicitly assigned names in the O/R mapping.
Here, this is the responsibility of an implementation of
ImplicitNamingStrategy
. -
Physical naming is the process of applying additional rules to transform
a logical name into an actual "physical" name that will be used in the database.
For example, the rules might include things like using standardized abbreviations,
or trimming the length of identifiers.
Here, this is the responsibility of an implementation of
PhysicalNamingStrategy
.
- API Note:
- The API defined in this package replaced the now-deprecated interface
NamingStrategy
from older versions of Hibernate.
-
Interface Summary Interface Description EntityNaming ImplicitAnyDiscriminatorColumnNameSource Context for determining the implicit name for an ANY mapping's discriminator column.ImplicitAnyKeyColumnNameSource Context for determining the implicit name for an ANY mapping's key column.ImplicitBasicColumnNameSource Context for determining the implicit name related to basic values.ImplicitCollectionTableNameSource Context for determining the implicit name for a collection table.ImplicitConstraintNameSource Common implicit name source traits for all constraint naming: FK, UK, indexImplicitDiscriminatorColumnNameSource Context for determining the implicit name of an entity's discriminator column.ImplicitEntityNameSource Context for determining the implicit name of an entity's primary tableImplicitForeignKeyNameSource ImplicitIdentifierColumnNameSource Context for determining the implicit name of an entity's identifier column.ImplicitIndexColumnNameSource ImplicitIndexNameSource ImplicitJoinColumnNameSource Context for determining the implicit name of a "join column" (thinkJoinColumn
).ImplicitJoinTableNameSource Context for determining the implicit name for a join table.ImplicitMapKeyColumnNameSource Context for determining the implicit name of a column used to back the key of aMap
.ImplicitNameSource Common contract for all implicit naming sourcesImplicitNamingStrategy A set of rules for determining the logical name of a mapped relational database object when the mapping for an element of the Java domain model is not explicitly specified, neither in annotations of the Java code, nor in an XML-based mapping document.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).ImplicitTenantIdColumnNameSource Context for determining the implicit name of an entity's tenant identifier column.ImplicitUniqueKeyNameSource NamingStrategyHelper Helper contract for dealing with naming strategies.PhysicalNamingStrategy A set of rules for determining the physical names of objects in a relational database schema from the logical names specified by the object/relational mappings. -
Class Summary Class Description CamelCaseToUnderscoresNamingStrategy Originally copied from Spring Boot as this strategy is popular there (original name is SpringPhysicalNamingStrategy).DatabaseIdentifier Models an identifier (name), retrieved from the database.Identifier Models an identifier (name), which may or may not be quoted.ImplicitNamingStrategyComponentPathImpl An ImplicitNamingStrategy implementation which uses full composite paths extracted from AttributePath, as opposed to just the terminal property part.ImplicitNamingStrategyJpaCompliantImpl Implementation of theImplicitNamingStrategy
contract, generally preferring to conform to JPA standards.ImplicitNamingStrategyLegacyHbmImpl Implements the original legacy naming behavior.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.NamingHelper ObjectNameNormalizer Provides centralized normalization of how database object names are handled.PhysicalNamingStrategyStandardImpl Standard implementation of thePhysicalNamingStrategy
contract. -
Enum Summary Enum Description ImplicitJoinColumnNameSource.Nature -
Exception Summary Exception Description IllegalIdentifierException Indicates an attempted use of a name that was deemed illegal