Package org.hibernate.boot.model.naming
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-removed interface
org.hibernate.cfg.NamingStrategy
from older versions of Hibernate.
-
ClassDescriptionDeprecated, for removal: This API element is subject to removal in a future version.Models an identifier (name), retrieved from the database.Models an identifier (name), which may or may not be quoted.Indicates an attempted use of a name that was deemed illegalContext for determining the implicit name for an ANY mapping's discriminator column.Context for determining the implicit name for an ANY mapping's key column.Context for determining the implicit name related to basic values.Context for determining the implicit name for a collection table.Common implicit name source traits for all constraint naming: FK, UK, indexContext for determining the implicit name of an entity's discriminator column.Context for determining the implicit name of an entity's primary tableContext for determining the implicit name of an entity's identifier column.Context for determining the implicit name of a "join column" (think
JoinColumn
).Context for determining the implicit name for a join table.Context for determining the implicit name of a column used to back the key of aMap
.Common contract for all implicit naming sourcesA 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.An ImplicitNamingStrategy implementation which uses full composite paths extracted from AttributePath, as opposed to just the terminal property part.Implementation of theImplicitNamingStrategy
contract, generally preferring to conform to JPA standards.Implements the original legacy naming behavior.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.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).Context for determining the implicit name of an entity's tenant identifier column.Helper contract for dealing with naming strategies.Provides centralized normalization of how database object names are handled.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.ConvertscamelCase
orMixedCase
logical names tosnake_case
.Standard implementation of thePhysicalNamingStrategy
contract.
PhysicalNamingStrategySnakeCaseImpl
.